c++ - 在 Windows 7 上链接 .lib 文件

标签 c++ windows path g++

我有一个 C++ 程序 test.cpp,我想将两个 .lib 文件链接到它(fhlib.lib 和 gc_lib.lib)。我的 .lib 文件与我的 .cpp 程序位于同一文件夹中。我在 Windows 7 上。

到目前为止我尝试过的是:

g++ -o main main.cpp -L/Users\Documents\Visual Studio 2015\Projects\My Project -lfhlib

但是我得到了一个

No such file or directory error.

我确定路径是正确的,因为我是从 Properties->Location 复制的。但我确实删除了“C:\”,因为它没有编译。

编辑:我找到了这个 http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use .

所以我尝试使用

"-I" instead of "-l"

但还是不行。我明白了:

undefined reference to 'fh_set'...

最佳答案

如果您在 Windows 上使用 g++ 进行编译,我猜您正在使用 MinGW:MinGW 依赖于 .a 库。使用“-l”选项时,编译器正在寻找扩展名为.a 的库文件。

.lib 格式的库是用 visual studio 编译的:你不能像这样使用它。如果您有源代码或考虑将您的项目迁移到 Visual Studio,请使用 MinGW 编译您的库。

关于c++ - 在 Windows 7 上链接 .lib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38584344/

相关文章:

Windows 批量自动应答 XCOPY/i

windows - 是否可以查询特定域用户当前登录的 IP 地址(或机器名称)列表?

c++ - 如何查询boost::filesystem::path的长度?

python - 是否可以在 Python 中使用 CV_GUI_EXPANDED 标志?

c++ - std::vector 和动态分配数组有什么区别?

c++ - 如何使用vtk将窗口坐标映射到对象坐标

html - PDF 呈现为空的白框

c++ - 每次保存后如何进行自动g++编译?

windows - 操作系统不会关闭,但我的应用程序会

mysql - C编译器找不到头文件