我必须编译和运行第三人称项目,用C++编写, 不幸的是,我没有使用C++的经验,在解决了所有打桩问题之后,我面对一系列链接问题。 我收到了很多我的课程,并收到了“undefined reference to”的典型链接错误 。由于代码是真实的,并且由很多不同的文件组成,所以我向您展示了以下非常小的主文件,我在其中尝试使用 编译和运行我遇到的问题之一和地点即使在这个小程序中我也会得到相同的链接错误。 所以希望如果我设法找到解决这一点的代码的方式,我会 管理与休息。在向你展示代码本身之前,让我先说ad- vanced,在这种情况下,我试图从cplex.h和 中调用一个函数来保存你的一些建议,我已经正确安装了cplex (有一件事是我可以验证事实,我可以使用一些cplec函数和命令没有问题),并且我还添加了cplex作为我的外部库(我使用Eclipse IDE)之一 ,而且我遇到了相同的lin- king error其他功能不是cplex。 最后,我在这个网站上对 网站的最近几天进行了大量的研究,并且一般会关于链接错误而不能自己解决 的问题。结果任何人的帮助都非常感谢。 因此,这里是代码本身:链接我的项目的问题C++
#include <iostream>
#include "/home/used/cplex/include/ilcplex/cplex.h"// that's my cplex.h path
using namespace std;
int main(){
double temp;
int a,c;
CPXENVptr env;// in these two uses of cplex variables I don't get any error
CPXNETptr net;//
CPXNETgetdj(env , net , &temp , c , a); // when I try to use this or any function from cplex I get an linking error
return(0);
}
,因为它是写在cplex.h看到我做 功能的正确使用方法,让我不要混淆我也呈现原有功能链接器错误地使用了 函数。
CPXLIBAPI
int CPXPUBLIC
CPXNETgetdj (CPXCENVptr env, CPXCNETptr net, double *dj, int begin,
int end);
打印机错误本身是:
Building target: structures
Invoking: Cross G++ Linker
g++ -o "structures" ./src/div.o ./src/prod.o ./src/structures.o
./src/structures.o: In function `main':
/home/used/workspace/structures/Debug/../src/structures.cpp:21: undefined reference to `CPXNETgetdj'
collect2: error: ld returned 1 exit status
那么,你不链接到除你自己的源文件之外的任何东西。有没有一个cplex库你应该使用这些头文件? – Collin
Cplex库是cplex.h(如果我没有弄错),另外,因为我真的不熟悉链接进程上还有哪些链接源文件? – user3111197
这只是图书馆的标题。它定义了可用的函数和使用的数据类型,而不是函数本身。 Cplex应该有一些你需要编译成一个库的源文件,并直接链接到你的项目中。 – Collin