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刪掉之後在編譯