首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何构建一个静态链接到VC运行时库的非MFC C++项目?

构建一个静态链接到VC运行时库的非MFC C++项目,可以按照以下步骤进行:

  1. 打开Visual Studio,创建一个新的非MFC C++项目。
  2. 在项目属性中,选择C/C++ -> 代码生成器。
  3. 将运行时库设置为“多线程调试(/MTd)”或“多线程(/MT)”。
    • 多线程调试(/MTd):用于调试目的,生成一个与调试器兼容的静态运行时库。
    • 多线程(/MT):用于发布目的,生成一个与调试器不兼容的静态运行时库。
  4. 在链接器 -> 输入 -> 忽略特定默认库中,添加以下库文件:
    • libcmt.lib(对应多线程(/MT))
    • libcmtd.lib(对应多线程调试(/MTd))
  5. 在链接器 -> 系统 -> 子系统中,选择“控制台(/SUBSYSTEM:CONSOLE)”或“窗口(/SUBSYSTEM:WINDOWS)”。
    • 控制台(/SUBSYSTEM:CONSOLE):用于控制台应用程序。
    • 窗口(/SUBSYSTEM:WINDOWS):用于窗口应用程序。
  6. 确保项目中没有使用MFC相关的头文件和功能,以确保项目是非MFC的。
  7. 进行编译和构建项目。

这样,你就构建了一个静态链接到VC运行时库的非MFC C++项目。

注意:以上步骤是基于使用Visual Studio进行开发的情况,具体步骤可能会因不同的开发环境而有所差异。

关于静态链接到VC运行时库的非MFC C++项目的更多信息,你可以参考腾讯云的产品文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

lnk2001 lnk1120_lnk1120

二.由于编译和链接设置而造成LNK2001   1.如果编译时使用是/NOD(/NODEFAULTLIB)选项,程序所需要运行库和MFC在连接时由编译器写入目标文件模块, 但除非在文件中明确包含这些名...6.不同版本和编译器混合使用也能产生问题,因为新版库里可能包含早先版本没有的符号和说明。   7.在不同模块使用内联和内联编译选项能够导致LNK2001。...在 Visual C++ .NET 2003 中,如果使用了 /clr 而未将 CRT 链接到可执行文件,将生成此错误。...任何由编译器在未使用 /clr:initialAppDomain 时生成对象代码都包含对 _check_commonlanguageruntime_version 函数引用,该函数在 C 运行时...有关可验证代码更多信息,请参见产生可验证 C++ 托管扩展组件。有关从托管 C++ 项目创建纯 MSIL 输出文件更多信息,请参见将 C++ 托管扩展项目从混合模式转换成纯 IL。

96920

VS下如何建立一个MFC程序 网络编程 课设 基于C++ MFC 连接数据 小应用 小项目浅析展示

这里不知道会不会有人是真的新手 新新手 不知道怎么 如何建立一个MFC 工程 应该不会吧?...就是 打开VS 新建项目-MFC -MFC工程-点基于对话框 -和在静态中使用 然后下一页将关于对话框取消了 不然会有两个对话框出来 然后点击完成 具体如下 步骤1:双击打开vs2013,进入起始页,...勾选“基于对话框”,在“MFC使用”中,勾选“在静态中使用MFC(U)”,再点击下一步。...注:MFC可以在静态下使用,或者在共享DLL中使用,但前者会把所有用到dll文件集成到exe文件,因此占用内存较大,所以自己选择。 ?  ...接下来我们来一个项目玩玩。。。。。 第三步 : ? 上面这个就是一个简单实现 从 MFC  到数据   查询学生信息小界面。

2.9K30

C++面试题

5、在MFC窗口中制作一个逃跑按钮(鼠标永远捕捉不到),该如何实现?...面试 1、对MFC熟悉么?写过复杂界面没有?还有文档视图使用多不? 2、使用过哪些VC++中线程同步? 3、VC++中网络模型熟悉不?...3、你最近一份工作中遇到一个难点和问题是什么?你是怎么解决? 4、你在你们项目中负责什么?担任什么角色? 5、Boost中为什么大量使用hpp文件?基于什么考虑?...Boost头文件与我们平常所用头文件(*.h)或者C++标准头文件(没有后缀名)不同,它是把C++声明和实现放在了一个叫做.hpp文件中。...修饰成员函数,修饰成员函数使得不需要生成对象就可以访问该函数,但是在 static 函数内不能访问静态成员。 8、protobuf协议有使用过么? 9、xml熟悉么?xpath是什么?

2.2K30

VC++DLL应用(含Demo演示)

VC++,大三时候也试着编写过一个MFC最简单窗口程序。...到大四时候,自己又做了一个GIS项目,是用C#.NET来编写,然后发现C#上手好容易,而且还大部分语法规则都沿用了C,C++习惯,于是觉得C++实在是没有一点优势可言啊。...C++和C#各有优缺,目前我对它们俩定位是:C++用来写一些底层程序,比如驱动,或者是一些算法类型函数接口,然后用C#来调用这些接口并进行界面设计。如何函数实现跨语言呢?...1 用VC创建DLL动态连接 1.1 创建dll项目 然后选择“一个dll工程”,然后点击“确定”便完成了“创建dll项目流程。...2.3 用C++隐式链接(MFC窗口程序) 新建一个MFC基本对话框窗口程序进行调用: 1. 利用向导建立一个MFC基本对话框 2.

90520

LNK2019 无法解析外部符号 WinMain,该符号在函数 int __cdecl invoke_main(void) (?invoke_main@@YAHXZ) 中被引用

中文版:VC左边,解决方案窗口,在项目上点右键,选择属性->配置->链接->系统,将子系统window设置成console....程序,略 若这两项配置是对,然依然有这个问题,问题在于,如果是MFC项目的话 需要在属性\常规\MFC使用 中 要选择 【在静态中使用MFC】 若是win32的话则选择【使用标准windows】...2.如果你选了MFC项目,就按照方法三那位兄台说:   若这两项配置是对,然依然有这个问题,问题在于,如果是MFC项目的话 需要在属性\常规\MFC使用 中 要选择 【在静态中使用MFC】   ...win32控制程序和win32项目以及mfc项目区别: 空项目,大多数想单纯创建c++工程新同学,打开vs后很可能不知道选择创建什么工程,这时候请相信我,空项目是你最好选择。...(6)Win32控制台程序:初始代码模版以main为程序入口,默认情况下,只链接C++运行时和一些核心win32,链接器subsystem参数为console类型,所以编译出来程序会有黑色控制台窗口作为呈现标准输入

15.4K51

ATL CLR MFC Win32 常规 区别

MFC、ATL和CLR是VC2005内置3大,涵盖了windows各种开发方法和开发应用。当然关于C++开发不止这3个,不过这3个是微 软推荐。...这个自从VC6开始到现在都没有多 大改动。MFC封装范围包括GUI,IO,数据,网络编程等等方面。...所以C++/CLI目前还是微软一家之言。 ATL用于编写COM程序。ATL貌似也年纪很大了,至少在我接触到VC时候就有它存在了。...工程创建和设置如下: 1)首先创建一个MFC工程。例如,支持MFCWin32控制台应用程序。 2)配置项目,使工程具有公共语言运行库支持。...3)为了使用CLR类Console类,在程序开始包含如下两行: #using using namespace System; //下列代码演示了如何使用CLR与MFC

1.4K30

VS2015中用C++创建MFC DLL动态「建议收藏」

1 打开VS2015,新建MFC dll动态,如下图所示: 2 点击下一步,在应用程序设置里选择带静态链接MFC规则,这个主要为了以静态形式生成MFC dll,便于动态可以移植到其它编程语言或者其它计算机系统里调用...8 在MFC_dll.def 中定义函数显示导出: 代码如下: add_func @1 9 然后编译工程,即可成功生成mfc dll动态 10 生成了动态,那么如何把这个动态提供给别人用...我们知道C++静态只有.h文件和.lib文件,C++动态有有.h文件和.lib文件还有.dll文件,因此我们在我们工程中找到这三个文件,复制出来就是一个完整mfc dll动态了。...以上三个文件就是一个完整mfc dll动态了。...导入一个C++动态相信大家都清楚了吧,就跟C++导入任何一个动态方法一样,在VC++目录配置包含目录以及目录,在链接器输入里配置动态库里MFC_dll.lib文件。

1.5K10

牛人整理分享面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结

Win32对于各种字符集如何进行兼容及转换? (wchar_t、TCHAR、TEXT() )。 5. 怎么创建一个子窗口?在哪进行设置? 6. 窗口类分类,如何创建一个应用程序全局窗口类。...动态静态区别。 27. Win32里面怎样用静态C++程序在引用c静态时,需要注意什么? 28. Win32里面动态有哪几种导出方式,有哪几种导入方式?...MFC动态有哪几种类型?扩展一般用来做什么? 28. MFC线程有哪几类? 相互有什么区别?各自创建方法是什么? 29. VC环境下可以使用哪几类socket?...列举Linux内存管理相关几个函数,各自有什么功能? 2. GCC只编译选项是什么?只进行预处理选项是什么?在命令行定义宏选项是什么? 3. Linux静态使用,怎么创建一个静态?...怎么使用一个静态静态文件后缀名是什么?静态命名规范。 4. nm 工具作用,ldd工具作用。 5. Linux动态使用,怎么创建一个动态? 动态文件后缀名是什么?

2.4K41

Mainfest配置文件version问题小结

问题起源自己安装好产品新build,然后用自己本地编译出来其中一个DLL去替换到产品中,本来以为可以正常执行,但是却发现这个新DLL无法被Load,无法被使用。   ....MFC.MANIFEST文件,然后修改其version从762变为4053即可   问题原因:   我们产品由visual studio 2005开发,依赖于Microsoft Visual C++...2005(用户电脑需安装vcredist_x86.exe,vcredist_x64.exe),我在本地开发时VC版本是4053(原因是我安装了Visual C++ 2005 SP1 KB971090...安全更新,VC生成manifest中引用ATL/MFC/CRT版本从8.0.50727.762变成了8.0.50727.4053),而出build机器其编译时依赖VC版本是762(http...从Visual Studio 2005开始,微软创造了SideBySide DLL,创造这种DLL初衷是许多程序可能会使用不同versionDLL,如果同一个DLL被替换为新versionDLL,

884100

c++混合js编程

1 背景 有个项目c++开发(MFC),内嵌一个浏览器容器(IE内核),c++控制该容器浏览器某个html,然后展示页面。...本人对c++段不甚了解,此处是摘取一个demo中关键实现语句做备忘。 C++要怎么引入html页面?...1)js中:通过 window.external.函数名 来调用c++函数; 2)c++中:通过DISP_FUNCTION宏将一个函数映射到Dispathch映射表中 3 结语 后来项目采用qt...参考文章: VC与JavaScript交互(一) ———— 如何实现_软件架构农-CSDN博客_vc与javascript交互 VC与JavaScript交互(二) ———— 调用JS函数_encoderlee...博客-CSDN博客 VC与JavaScript交互(三) ———— JS调用C++ - wgwyanfs - 博客园 C++和JavaScript脚本相互调用 - 我不是木鱼 - 博客园 啊,

1.3K20

锁定屏幕相关知识「建议收藏」

把钩子信息传递给钩子一个钩子函数。 CallNextHookEx....(1) 在 VC ++ 6.0 中利用 MFC APPWizard ( EXE )生成一个不使用文档 / 视结构单文档应用 mousehook 。...在 VC6 中有三种形式 MFC DLL (在该 DLL 中可以使用和继承已有的 MFC 类 ) 可供选择,即 Regular statically linked to MFC DLL (标准静态链接...第一种 DLL 特点是,在编译时把使用 MFC 代码加入到 DLL 中,因此,在使用该程序时不需要其他 MFC 动态链接类存在,但占用磁盘空间比较大;第二种 DLL 特点是,在运行时,动态链接到...MFC,因此减少了空间占用,但是在运行时却依赖于 MFC 动态链接类;这两种 DLL 既可以被 MFC 程序使用也可以被 Win32 程序使用。

1.1K10

你所不知道C和C++运行库

无聊,遂准备写一篇博客,介绍一下C和C++运行库,只因发现工作几年的人对此一知半解大有人在。 在使用VC构建项目时,经常会遇到下面的链接错误: ?...与C语言类似,C++也定义了自己标准,同时提供相关支持,我们把它称为C++运行时C++标准。 由于C++对C兼容性,C++标准包括了C标准,除此之外还包括IO流和标准模板STL。...VC++在何处实现C和C++运行库 VC++完美的支持C和C++标准,因此也就按照C和C++标准定义函数原型实现了上述运行时。...其原因是VC6.0控制台项目默认配置是静态链接CRT(单线程版,后面会介绍)。...使用DLL版C和C++运行库,程序在运行时动态加载对应DLL。程序体积变小,但一个很大问题就是一旦找不到对应DLL,程序将无法运行。

1.5K10

给VS2008扩展BCGControlBar

(Business Components Gallery ControlBar)专业版是MFC一个扩展,您可以用来构建类似于Microsoft Office 2000/XP/2003/2007/2010...BCGControlBar这个扩展包含了300多个经过精心设计,测试和具有完备文档MFC扩展类。BCGControlBar控件能轻松融入应用程序中,节约大量开发和调试时间。...不过这还没完,还得对应自己开发平台,编译对应 DLL 和 Lib。 ? 选择开发平台,我这是 VS2008 ,而且貌似在 VC6.0 下面会出BUG。...(VC6.0太老了,虽然好用,但是还是弃了吧),接着就一路 Next 吧。 ? ? ? 接着就是漫长编译 DLLs 和 Libraries ? 然后 Next, 就 Finish。搞定收工。...---- 新建项目,可以看出来多了一个 BCGAppWizard 。开始你 BCG之旅 。 ?

83820

OpenCV配置——在Visual Studio中使用OpenCV

这篇文章记录在Windows平台上,如何安装OpenCV并且在Visual Studio C/C++开发环境中使用之。...我们在写程序时用到是一些编译好lib和dll文件,所以只要在程序中添加了头文件,调用了相应函数,然程序运行时能找到相应文件(包括动态文件即.dll文件和静态文件,即.lib文件)就可以了。...添加环境变量 添加环境变量是为了让程序在运行时能找到函数对应动态链接(dll)。...创建一个项目,通过视图->属性管理器找到属性管理器页面。...在该项目目录下面找到这个属性表,保存到一个安全地方,下次在要用OpenCV工程里,找出属性管理器,右键,选择添加现有属性表即可。

1.5K10

vc编译出程序减小体积

----------------------------- 人们都说vc做出东西可以小点,现在你打开vc编译一个Hello World出来!点属性看下,咦!...另外,如果要是用到MFC函数程序,可在"Project(工程)--->settings(设置)"里面的"通用(General)"选项卡中在"Microsoft Foundation Classes"中选择使用一个...MFCdll(Use MFC in a Share Dll)也会使文件大小缩小很多.现在我们超小后门编译好了,试下能用否. ok 没问题哦 大家注意到程序运行时会产生一个cmd窗口,要让他没有就好了...为公共语言运行时编译noAssembly - 不产生程序集 -输出文件- /Fa[file] 命名程序集列表文件 /Fo 命名对象文件 /FA[sc] 配置程序集列表 /Fp.../nologo 取消编译器版权信息 /noconfig 不要自动包含 CSC.RSP 文件 - 高级 - /baseaddress: 要生成基址 /bugreport: 创建一个

1.9K10

c++DLL编程详解

静态链接和动态链接另外一个区别在于静态链接中不能再包含其他动态链接或者静态,而在动态链接中还可以再包含其他动态或静态链接。...(3)VC动态链接分类   Visual C++支持三种DLL,它们分别是Non-MFC DLL(MFC动态)、MFC Regular DLL(MFC规则DLL)、MFC Extension DLL...MFC动态:不采用MFC结构,其导出函数为标准C接口,能被MFCMFC编写应用程序所调用; MFC规则DLL :包含一个继承自CWinApp类,但其无消息循环 MFC扩展DLL:采用MFC...MFC DLL: 上面给出了以静态链接方式提供add函数接口方法,接下来看看怎样用动态链接实现一个同样功能add函数。...在VC++中新建一个Win32 Dynamic-Link Library工程dllTest。注意不要选择MFC AppWizard(dll)。

2.2K60

OpenCV3 和 Qt5 计算机视觉:11~12

与动态链接相反,可以使用静态链接将所有必需代码链接到生成可执行文件中,从而创建静态或可执行文件。...不过,在下一节中,我们将学习如何使用它们源代码静态构建 Qt 和 OpenCV 。 通过使用静态链接,我们可以创建不需要在目标系统上存在任何共享应用。...禁用BUILD_SHARED_LIBS仅启用 OpenCV 静态共享)构建模式,而最后一个参数(在 Windows 上)有助于避免文件不兼容。...幸运是,QML 和 Qt 框架提供了足够规定以能够轻松地处理此问题。 在本节中,我们将学习如何创建一个可视 C++ 类,该类可以在 QML 代码内使用 OpenCV 处理图像。...我们学习了如何填补 QML 和 C++ 代码之间空白,然后建立了可视类和可视类来处理和显示使用 OpenCV 处理图像。

6.2K20

钩子原理及实例:实现键盘钩子截获密码

VC6中MFC DLL分类及特点 在VC6中有三种形式MFC DLL(在该DLL中可以使用和继承已有的MFC类)可供选择,即Regular statically linked to MFC...第一种DLL特点是,在编译时把使用MFC代码加入到DLL中,因此,在使用该程序时不需要其他MFC动态链接类存在,但占用磁盘空间比较大;第二种DLL特点是,在运行时,动态链接到MFC,因此减少了空间占用...,但是在运行时却依赖于MFC动态链接类;这两种DLL既可以被MFC程序使用也可以被Win32程序使用。...由于全局钩子回调函数必须包含在动态链接中,所以本例由两个程序体来实现。第一个建立一个DDL动态链接程序,实现重要函数封装,第二个MFC程序提供界面,按钮安装和卸载钩子。...MFC拷贝)类型; (3)由于VC6没有现成钩子类,所以要在项目目录中创建KeyboardHook.h文件,在其中建立钩子类: class AFX_EXT_CLASS CKeyboardHook

1.8K20
领券