何时使用Visual Studio附加依赖项? 在C++中,你得到了头文件(.h)、(.LIB)文件和(.dll)文件。
在Visual Studio中,可以在三个不同的位置提供搜索这些文件的位置:何时使用Visual Studio附加依赖项? 在C++中,你得到了头文件(.h)、(.LIB)文件和(.dll)文件。,c++,visual-studio,linker,C++,Visual Studio,Linker,在Visual Studio中,可以在三个不同的位置提供搜索这些文件的位置: 配置属性=>C/C++=>General=>Additional Include目录。 在这里,您列出了要搜索并提供的“包含”目录 配置属性=>Linker=>General=>其他库目录。 在这里,您列出了要搜索并可用的“lib”目录 配置属性=>链接器=>输入=>其他依赖项。 在这里,您可以明确指定要包含的.lib文件 问题是: 问题1:如果在#1中指定了头文件,在#2中指定了库,那么为什么/什么时候要在#3中指定
问题2:如果同时提供了调试和发布库,那么您通常希望在调试版本中使用调试版本,在发布版本中使用发布版本。在对话框的左上角,选择要修改的配置。通常,您会希望为调试和发布指定目录,但会指定单个库,一个用于调试,一个用于发布。并且只需指出显而易见的一点,您不必在项目的属性设置中添加任何正在使用的.h文件,因为您在源代码中显式地包含了它们,在您已经提供的路径中查找标题。此外,在上述位置,当您添加到目录中时,请查看宏>>按钮。 e、 g.对于32位/64位/版本和调试,您可能需要使用不同的库。您可以使用($ProjectDir)宏提供相对链接,例如($DXSDK_DIR)宏确保为directx开发获得正确的LIB 因此,我有($DXSDK\u DIR)\Lib\x86和($DXSDK\u DIR)\Lib\x64,这也解决了在32位和64位Windows操作系统之间进行开发时出现的问题。关于第二季度 对于第三方库,我利用Visual Studio Build命令宏变量
$(平台)
和$(配置)
输入如下内容:
Y:\dev3\cpp\cryptopp\cryptopp561\$(Platform)\Output\$(Configuration);...
通过这种方式,您只需输入相同的行,然后Visual Studio替换宏变量,并根据您激活的配置查看
\cryptopp561\Win32\Output\Release\
或\cryptopp561\Win32\Output\Debug\
。它实际上并没有节省很多打字时间,但有助于保持内容的一致性和准确性。谢谢!一个反例,仍然让我困惑。。。我正在使用一个Boost库,tokenizer。所以对于#1,我指定\include目录的位置,然后在我的.cpp文件中,我只做:#include“boost/tokenizer.hpp”,这样我的程序就可以成功运行了问题3:为什么我不必包括\lib库的位置(例如#2为空)以及#3的位置(例如,如果我没有指定确切的库,为什么我能够链接到该库)。谢谢@用户205834:有两种可能性。首先,很多Boost都是只包含头的库——也就是说,所有的代码都在头中,您不需要链接任何东西就可以使用它。其次,对于使用库的部件,它们通常使用#pragma comment(lib,“libname”)
自动链接到库。不,在我的项目中,我使用$(配置)。我刚刚阅读了$(ConfigurationName)的文档,我想这也可以,但我还没有测试它。