0

我在这篇文章中描述了同样的问题:

对 *.h 文件中声明的函数的未定义引用

我正在使用 Eclipse 编写一个 C/C++ 项目。

我怎样才能解决同样的问题?

我尝试过:项目->属性-> c c++构建->设置->工具设置->Gcc c++库->库->库(-l)

并在 /lindoappi/bin/linux34 中添加库。

但它不起作用。我将目录添加到:

项目->属性->c c++构建->设置->工具设置->Gcc c++库->库->库搜索路径

控制台输出为:

**** 为项目 LINDO_test 构建配置调试 ****

make all 构建目标:LINDO_test 调用:GCC C++ Linker g++ -L/home/mario/lindoapi/bin/linux32 -o"LINDO_test" ./src/LINDO_test.o ./src/test_001.o -lliblindo /usr/bin/ ld: 找不到 -lliblindo collect2: ld 返回 1 退出状态 make: *** [LINDO_test] 错误 1

以下也是一个相关的帖子: 加载共享库时出错

还有其他建议吗?非常感谢。

4

1 回答 1

0

去:

项目-> 属性-> c c++ 构建-> 设置-> 工具设置-> Gcc c++ 链接器-> 库-> 库(-l)

将库添加为:lindo64 mosek64 以及您需要的任何内容。

然后添加:项目->属性->c c++构建->设置->工具设置->Gcc c++链接器

确保 .../lindoapi/bin/linux64 在项目 -> 属性 -> c c++ 构建 -> 设置 -> 工具设置-> Gcc c++ 链接器 -> 库 -> 库搜索路径 (-L)

将命令行模式编辑为: ${COMMAND} ${OUTPUT} ... -Wl,-rpath=/opt/lindoapi/bin/linux64 ${INPUTS}

出于某种原因,Eclipse 只允许 Wl 使用 -soname、--out-imlib 和 --output-def,因此您必须以这种方式手动执行。不干净,但它有效。

我希望这对其他用户也有用。

快乐编码。

于 2013-04-18T18:42:12.313 回答