我该如何弄清楚一个项目在哪里链接在Visual Studio中的特定库

How can I figure out where a project is told to link a particular library in Visual Studio?

本文关键字:Studio Visual 链接 在哪里 项目 弄清楚 一个      更新时间:2023-10-16

我有一个Visual Studio项目。这很简单,而且起作用。但是,我们正在将代码移植到64位。我已经有一个简单的项目编译,但是它没有链接:

fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

告诉我它正在尝试链接库的错误版本。它应该链接64位库,但它试图链接32位库。这显然是错误的。

我的问题是我无法弄清楚我的项目决定在哪里链接该库。我看了:

  • 项目属性,道具文件。尽管指定了LIB路径,但没有指定的LIB名称。
  • 项目属性 ->链接器 ->命令行。也没有。
  • 我已经通过标头文件查看某种#pragma comment(lib, ),但是我找不到任何用途。

我还能在哪里看?有没有办法让Visual Studio告诉我如何决定在不同库中链接?

不确定是否相关,但这是一个小型单元测试项目,使用cppunit。当应该链接cppunit-vc100-x64-MTd.lib

时,它链接了cppunit-vc100-MTd.lib

在您的项目属性页面上,在Linker,General下,将项目链接进度报告设置为您需要显示的库所需的任何内容。/冗长或//冗长:lib可能会做您想要的。

示例输出输出显示在输出窗口中的内容:lib

1>  Searching libraries
1>      Searching D:winsdklibkernel32.lib:
1>      Searching D:winsdklibuser32.lib:
1>      Searching D:winsdklibgdi32.lib:
1>      Searching D:winsdklibwinspool.lib:
1>      Searching D:winsdklibcomdlg32.lib:
1>      Searching D:winsdklibadvapi32.lib:
1>      Searching D:winsdklibshell32.lib:
1>      Searching D:winsdklibole32.lib:
1>      Searching D:winsdkliboleaut32.lib:
1>      Searching D:winsdklibuuid.lib:
1>      Searching D:winsdklibodbc32.lib:
1>      Searching D:winsdklibodbccp32.lib:

等。

另外,您可能在源树中有一个标头文件,该文件正在通过A

带入该文件
#pragma comment (lib, "cppunit-vc100-MTd.lib")

,但这应该很容易就可以通过在文件配置中的查找中的cance选项中的文件中的"查找"中找到。

中的查找选项之一。