vs2015静态编译
1. VS的编译方式里Release_Static和Release编译方式有什么区别同样,Debug_Static和Debug有什么区别
区别就是:
Using MFC as Static (LIB)
Using MFC as Dynamic (DLL)
MFC库函数是静态编译还是动态编译,静态编译不需要额外的DLL支持,简单工程可以直接拷贝EXE文件到其它机器上使用,缺点主要是静态编译,EXE文件大小会比较大。
2. 关于使用VS2015编写c++时 定义静态数据成员时遇到的问题. 具体代码如下。
静态成员不是必须要初始化的,而且你这样初始化也不对,这个初始化可以用初始化参数列表或者在构造函数里做,或者加命名空间像你这样访问,但都是在cpp里,头文件不能有这样的语句
3. opencv3.0.0,VS2015,静态编译有问题,请问少了什么库
静态编译,需要把你的lib文件拷贝到当前目录下,然后在你的应用程序里写上如下语句
#pragma comment(lib,"opencv_core243d")这个样子。
4. vs2015 MFC中不能使用mircal大数库吗
先把源文件用空项目静态编译生成miracl.lib;
把miracl.h,miracl.h 复制到新的调试项目文件夹,然后“添加现有项->miracl.h,miracl.h;再“添加现有项”->原来项目编译出来的miracl.lib,即可。
我是直接调用brent.c来测试lib成功运行,你也可以直接使用MIRACL函数。
5. VS2015静态编译QT5.6,有人成功过吗
QT 5.5.1 VS2015 静态编译
编译参数如下:
configure -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -prefix "c:\Qt\5.5.1-static-vs2015" -make libs -nomake tests -nomake examples
我的工程用到了这些库
qtpcred.lib
Ws2_32.lib
Qt5Cored.lib
qtharfbuzzngd.lib
opengl32.lib
Qt5Guid.lib
d3d9.lib
d3dx9.lib
ddraw.lib
D3D11.lib
dxguid.lib
Qt5Widgetsd.lib
Qt5WinExtrasd.lib
imm32.lib
qwindowsd.lib
winmm.lib
qtfreetyped.lib
Qt5PlatformSupportd.lib
6. 怎么让VS2015编写的程序在XP中顺利运行
2. VS2015开发XP程序的设置
1. 项目菜单->项目属性->配置属性->常规->平台工具集,选择“VS2013WindowsXP(v120_xp)”;
2. 项目菜单->项目属性->配置属性->常规->MFC的使用,选择使用标准Windows库;如果选用静态库编译的话选用静态库中选用MFC。
3. 项目菜单->项目属性->配置属性->常规->字符集中使用多字节字符集或使用Unicode字符集
4. 项目菜单->项目属性->链接器->系统->子系统->控制台或窗口windows(根据你的项目类型选择),第二项版本号设成5.01。
实际测试的时候这两项不设置也可以,连接器和自动匹配。
5. C/C++->链接器->命令行,输入相应的命令行,这一步非常关键,否则会出现“不是有效的win32应用程序”提示;
根据程序设计的运行环境是图形窗口还是命令行窗口设置不同的命令行选项,如果运行环境是命令行窗口则使用如下命令:
/SUBSYSTEM:CONSOLE,”5.01” (for Win32用在32位平台)
/SUBSYSTEM:CONSOLE,”5.02” (for x64用在64平台)
如果运行环境是图形窗口则使用如下命令:
/SUBSYSTEM:WINDOWS,”5.01” (for Win32用在32位平台)
/SUBSYSTEM:WINDOWS,”5.02” (for x64用在64平台)
现在就可以编译运行程序了,试试看吧。
7. 为什么vs2015做MFC,静态编译体积这么大
打开项目,选择属性,分三步:(1)选择左上角的configuration->Active(Debug)configurationproperties->general->useofMFC,选择useMFCinastaticlibrary。(2)左上角configuration->debugC/C++->codegeneration->runtimelibrary->multi-threadeddebug(/MTd)(3)configuration->releaseC/C++->codegeneration->runtimelibrary->multi-threaded(/MT)
8. vs 命令行编译静态库
_declspec(dllexport) void test_print(char* sz_input);
这是动态链接库 -- dllexport ,dll是动态链接库。
不是你说的静态库。
动态链接库,应用程序调用它,编译链接时要有.lib, 运行时要有.dll
Debug\ -- 给别的程序用,要用 Release\,不能用 Debug\
char * __ptr64 sz_input;
__ptr64 -- 32位机上,指针sz_input截断为32位.
char * __ptr32 sz_input;
__ptr32 -- 64位机上,指针sz_input变32位
wchar_t,_MBCS -- 表明你要用双字节字符,那么程序就不应当用 单字节char 型。如果你要编的不是要用双字节字符,那么 就不要 wchar_t,_MBCS。
9. mfc程序不能静态编译的问题
把exe删掉之后在编译