2010-10-21 185 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 /?

相关问题