2010-10-21 157 views
0

我已經使用Visual Studio 2008開發了一個DLLin C++。我想使用一個工具來運行靜態代碼分析,這需要我在命令行上編譯它。從命令行構建DLL [Visual Studio]

如何使用cl.exe來實現此目的。

我的項目取決於boost date_time庫和其他引用的項目。

How to build a DLL from the command line in Windows using MSVC

UPDATE:命令行

cl /Od /GL /I "..\..\..\..\..\..\..\..\..\..\..\..\..\boost144" /I "..\include" /I "..\..\..\..\..\cincludes" /I "..\..\BASBESUtil\include" /I "..\..\..\..\..\..\..\..\..\..\..\wutility\include" /I "..\..\..\t\include" /I "..\..\..\..\..\..\..\..\..\..\..\enterprise\common\LicenseLib" /I "..\..\Common" /I "..\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "UNICODE" /D "_UNICODE_" /D "_WINDLL" /D "_UNICODE" /FD /EHa /MD /Zc:wchar_t- /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP <<src files >> /OUT:".\Release\snaplv.dll" /INCREMENTAL:NO /LIBPATH:"..\..\..\..\..\..\..\..\..\..\..\..\..\boost144\stage\lib" /DLL /MANIFEST /MANIFESTFILE:"Release\snaplv.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\DevEnv\PerforceWorkspace\dev\adamodarachar\snap-tools\LicenseValidator\main\enterprise\BAS\main\server\nativeutil\src\core\main\cpp\xyxmgr\xyxmgr\Release\snaplv.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE:NO /MACHINE:X86 /NXCompat /DynamicBase version.lib Ws2_32.lib rpcrt4.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 <<obj files>>

+0

嘿,這是我的問題,已被鏈接到! woohoo :-) – 2010-10-21 16:10:43

回答

-1

Tools菜單中選擇選項Visual Studio 2008 Command Prompt

+1

我可能是完全錯誤的,但是這並不是爲您運行適當的vcvars嗎? – 2010-10-21 16:11:29

0

而不是直接調用編譯器可執行文件並手動傳遞所有這些選項,您可以簡單地調用MSVC,並在命令行上傳遞項目文件。

devenv.com MyProject.sln /Build "Release|x86_64" /Project MyLib

在我MSVS V8的副本,devenv.com可以C:\Programs\Microsoft Visual Studio 8\Common7\IDE找到。有關選項列表,請致電devenv.com /?

相關問題