【发布时间】:2017-04-08 06:27:25
【问题描述】:
我在 Eclipse 中创建了一个使用 opencv 的 c++ 静态库。它构建得很好,我想将它包含在同一工作区的另一个 c 项目中。
尝试
1)我在属性->c/c++ build->setting->GCC C编译器->包含->"项目路径"中包含了库路径。
2)properties->c/c++ build->setting ->GCC C Linker-> Libraries ->Liraries(-i)->"库名称" 3).properties->c/c++ build->setting ->GCC C Linker-> Libraries ->Liraries(-i)->"lib的路径"
但是,这在运行 c 项目时不起作用,找不到给出错误的静态库函数 -“未定义的函数引用”
提出解决问题的方法。 提前致谢。
【问题讨论】:
-
一般来说,您必须为您的库提供一个可以从 C 调用的接口。这意味着 C 风格的函数,而不是 C++ 函数。然后你必须确保 C 编译器和 C++ 编译器在编译代码时这些函数的名称是一致的;阅读有关
extern "C"的信息。 -
谢谢皮特,我已经在函数声明中使用了 extern "C"。我已经在 windows 上使用 Visual Studio 检查了代码,它工作正常。
标签: c++ c eclipse opencv static