我有同样的问题:
undefined reference to function declared in *.h file
我正在编写一个使用Eclipse的C / C ++项目。
我如何解决同样的问题?
我试过去: 项目 - >属性 - > c c ++ build - >设置 - > 工具设置 - > Gcc c ++库 - >库 - >库(-l)
并在/ lindoappi / bin / linux34中添加库。
但它不起作用。我将目录添加到:
项目 - >属性 - > c c ++ build - >设置 - > 工具设置 - > Gcc c ++库 - >库 - >图书馆搜索路径
控制台输出是:
****构建配置项目调试LINDO_test ****
全力以赴 构建目标:LINDO_test 调用:GCC C ++链接器 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
以下是相关帖子: error while loading shared libraries
还有其他建议吗? 非常感谢。
答案 0 :(得分:0)
转到:
项目 - >属性 - > c c ++ build - >设置 - >工具设置 - > Gcc c ++链接器 - >库 - >库(-l)
将库添加为: lindo64 mosek64 无论你需要什么。
然后添加: 项目 - >属性 - > c c ++ build - >设置 - >工具设置 - > Gcc c ++链接器
确保... / lindoapi / bin / linux64 在... 项目 - >属性 - > c c ++ build - >设置 - >工具设置 - > Gcc c ++链接器 - >库 - >库搜索路径(-L)
将命令行模式编辑为: $ {COMMAND} $ {OUTPUT} ... -Wl,-rpath = / opt / lindoapi / bin / linux64 $ {INPUTS}
由于某种原因Eclipse只允许 -soname, - out-implib和--output-def 对于Wl,所以你必须以这种方式手动完成。 不干净,但它有效。
我希望这对其他用户也很有用。
快乐的编码。