C++ 与库相关的错误
我只是用fuzzylogic库(eFLL库)编写了一个模糊代码。我在linux环境中使用了它,并尝试用g++编译它。我在g++路径中解压了库。但是这些错误出现在我的脑海里,我不知道这些错误是为了什么。我制作了一个Makefile并试图解决这个问题,但没有成功。有人知道我如何解决这个问题吗 代码的一部分如下所示:C++ 与库相关的错误,c++,C++,我只是用fuzzylogic库(eFLL库)编写了一个模糊代码。我在linux环境中使用了它,并尝试用g++编译它。我在g++路径中解压了库。但是这些错误出现在我的脑海里,我不知道这些错误是为了什么。我制作了一个Makefile并试图解决这个问题,但没有成功。有人知道我如何解决这个问题吗 代码的一部分如下所示: include <iostream.h> #include "../FuzzyRule.h" #include "../FuzzyComposition.h" #inc
include <iostream.h>
#include "../FuzzyRule.h"
#include "../FuzzyComposition.h"
#include "../Fuzzy.h"
void setup(){
Fuzzy* fuzzy = new Fuzzy();
FuzzyInput* Threat = new FuzzyInput(1);
FuzzySet* lowThreat = new FuzzySet::FuzzySet(0, 1.875, 1.875, 3.75),
包括
#包括“./FuzzyRule.h”
#包括“./FuzzyComposition.h”
#包括“./Fuzzy.h”
无效设置(){
Fuzzy*Fuzzy=新Fuzzy();
FuzzyInput*Threat=新的FuzzyInput(1);
FuzzySet*lowThreat=新的FuzzySet::FuzzySet(0,1.875,1.875,3.75),
部分错误如下所示:
include <iostream.h>
#include "../FuzzyRule.h"
#include "../FuzzyComposition.h"
#include "../Fuzzy.h"
void setup(){
Fuzzy* fuzzy = new Fuzzy();
FuzzyInput* Threat = new FuzzyInput(1);
FuzzySet* lowThreat = new FuzzySet::FuzzySet(0, 1.875, 1.875, 3.75),
fuzzycode2.cpp:(.text+0x23):对“Fuzzy::Fuzzy()”的未定义引用
fuzzycode2.cpp:(.text+0x61):对的未定义引用
`FuzzyInput::FuzzyInput(int)'
fuzzycode2.cpp:(.text+0xbb):对的未定义引用
`FuzzySet::FuzzySet(float,float,float,float)'
fuzzycode2.cpp:(.text+0xed):对的未定义引用
`FuzzyIO::addFuzzySet(FuzzySet*)'
fuzzycode2.cpp:(.text+0x129):对的未定义引用
`FuzzySet::FuzzySet(float,float,float,float)'
包含头文件到C++文件是不够的。您还需要在链接时指定库文件和可能的位置,例如:
g++ your-files-go-here -o some-name -Llocation-of-the-library -llibrary-name
查看此特定“库”的页面它似乎只是由一堆对象文件组成,您需要将这些文件放在一个库中,或者在链接时显式地包含这些文件。您是否告诉您的链接器实际链接到库?您是否可以发布启动编译的shell命令?
?您真的想放弃上一个千年的书籍!这是一个错误es单独从mycode.cpp
链接可执行文件。要仅编译代码,需要使用g++-c mycode.cpp
我通过创建make文件并使用“make”命令解决了问题。