1

我正在尝试使用 UNIX makefile 编译一个库,但使用的是 Visual Studio 2010。我修改了 makefile,所以它应该可以工作,但是链接器有问题。我的编译器选项很简单:

CSWITCHES = -O2 -I$(INC_DIR) -L$(LIB_DIR)

(INC_DIR 和 LIB_DIR 指向 VC 的 include 和 lib 目录)。

我没有包含问题,所以我假设 -I 没问题,但是 -L 选项被编译器忽略:

ignoring unknown option -Lblahblah

我检查了 msdn 站点http://msdn.microsoft.com/en-us/library/y0zzbyt4(v=vs.80).aspx链接器选项,我尝试使用 LIBPATH 选项,但我也不起作用。

所以这是我的问题:指定链接器的库目录路径的 msvc 命令行选项是什么?

4

2 回答 2

3

重复

您应该在“/link”之后提供 /LIBPATH 作为链接器选项。确保系统路径中有 cl.exe。这是我用于编译的 bat 文件:

call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

cl %CompilerFlags% ..\src\main.cpp /I %IncludePaths% /link %LinkerFlags% /LIBPATH:%LibraryPaths%  
于 2016-03-04T00:30:05.147 回答
1

MSVC 没有等效的 -L 选项,路径直接提供给LINK. 至于标准库搜索路径,它是正确设置的vcvar32.bat(参见这篇 MSDN 文章

于 2012-04-10T10:16:30.260 回答