為了能將原始檔編譯成dll目標**。以前總以為是要設定/mt,/md /mt d,/md d. 那麼在link命令列中有:
1)kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"release/audiolab.pdb" /machine:i386 /def:".\exportlib.def" /out:"release/audiolab.dll" /implib:"release/audiolab.lib"
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo/subsystem:windows /incremental:no /pdb:"release/audiolab.pdb" /machine:i386 /def:"../cpp/libexport.def" /out:"release\audiolab.dll"
很重要一點就是將 /subsystem:console or /subsystem:windows 替換成/dll 是主要的。
其次,對於其他編譯選項也要經常去學習。
如 /nologo /gz /zp4 /mt /w3 /gx /o2 /d "win32" /d "ndebug" /d "_windows" /d "_mbcs" /d "_usrdll" /d "vc6win32dll_exports" /fo"release/" /fd"release/" /fd /c
/nologo /gz /zp4 /mt /w3 /gx /o2 /d "win32" /d "_debug" /d "_windows" /d "_mbcs" /d "_usrdll" /fo"release/" /fd"release/" /fd /c
各個命令表示何意?請參閱網路資料。
1)2)
3)
vc6 控制項
詳見msdn 為控制項新增乙個控制項型變數然後訪問之 edit idc edit1 m edit1 void ctest1dlg onbutton1 也可以直接使用id訪問 cstring str int i getdlgitemtextw idc edit1,str afxmessagebox s...
VC 6中的預編譯頭
vc 6中的預編譯頭 預編譯頭的概念 在很多程式中,每個原始檔都存在一些相同的部分。比如要包括相同的一些標頭檔案,而且這些標頭檔案可能很長,例如 window.h 如果用普通的方法編譯這些原始檔,對這些標頭檔案在每個原始檔中的出現都要重新編譯,作了很多重複工作。如果能將這些標頭檔案專門進行編譯,並且...
VC編譯選項
vc編譯選項 od 禁用優化 預設值 disable optimizations default ox 最大化選項。ogityb2 gs maximum opts.ogityb1 gs og 啟用全域性優化 enable global optimization oy 啟用框架指標省略 enable ...