我正在使用播放器/舞台进行论文工作。但是,当我想在Eclipse CDT中构建此代码时,我收到未定义的引用错误消息 -
#include <iostream>
#include <playerc++.h>
#include <playerclient.h>
#include <clientproxy.h>
using namespace std;
int main()
{
PlayerClient robot("localhost",6665);
return 0;
}
错误消息是:
08:40:02 **** Build of configuration Debug for project firstTest ****
make all
Building file: ../src/firstTest.cpp
Invoking: GCC C++ Compiler
g++ -I/usr/local/include/player-3.0/libplayerc++ -include/usr/local/include/player-3.0/libplayerc++/playerc++.h -include/usr/local/include/player-3.0/libplayerc++/clientproxy.h -include/usr/local/include/player-3.0/libplayerc++/playerc++config.h -include/usr/local/include/player-3.0/libplayerc++/playerclient.h -include/usr/local/include/player-3.0/libplayerc++/playererror.h -include/usr/local/include/player-3.0/libplayerc++/utility.h -O0 -g3 -Wall -c -fmessage-length=0 `pkg-config --cflags playerc++` -MMD -MP -MF"src/firstTest.d" -MT"src/firstTest.d" -o "src/firstTest.o" "../src/firstTest.cpp"
Finished building: ../src/firstTest.cpp
Building target: firstTest
Invoking: GCC C++ Linker
g++ `pkg-config --libs playerc++` -o "firstTest" ./src/firstTest.o
./src/firstTest.o: In function `main':
/home/nafees/workspace/firstTest/Debug/../src/firstTest.cpp:19: undefined reference to `PlayerCc::PlayerClient::PlayerClient(std::string, unsigned int, int)'
/home/nafees/workspace/firstTest/Debug/../src/firstTest.cpp:19: undefined reference to `PlayerCc::PlayerClient::~PlayerClient()'
collect2: error: ld returned 1 exit status
make: *** [firstTest] Error 1
08:40:02 Build Finished (took 514ms)
我已经按照Jenny- http://yorkroboticist.blogspot.com/2010/03/playerstage-on-eclipse.html
发布的这个很好的教程在此链接中,您将获得Eclipse Project Properties的快照: https://www.dropbox.com/sh/9hcmditufu0lt6v/AAChqD1-FMM9FhvTWpuOGMQ-a?dl=0
我尝试了很多方法来消除此错误。但是,一切都在静脉中。请帮我继续我的论文。
谢谢 纳菲斯
答案 0 :(得分:0)
我已经找到了&#34;未定义的引用&#34;问题.....
如果有人想使用eclipse CDT进行舞台/播放器模拟,请按照以下步骤操作。我假设您已正确安装了播放器/舞台。
转到项目属性。
展开 C / C ++ Build 。
点击设置。
如果您要构建C ++代码,请按以下步骤操作 -
在 GCC C ++编译器下,点击其他标签。
有一个名为&#34;其他标志&#34; 的框。在框 -
`pkg-config --cflags playerc ++`
警告:切勿编辑框中的现有行。只需将带有空格的现有行旁边的上一行粘贴即可。并记住&#39;和`不一样。
然后,转到包含/目录(名称可能因eclipse版本而异)选项卡。有一个&#34;包含路径(-I)&#34; 框。点击添加按钮,然后导航至 - 计算机&gt; usr&gt;本地&gt;包括&gt; Player- x.x 然后按确定。
如果您想构建C代码,请跳过第4条指令,然后按照以下步骤操作 -
在 GCC C编译器下,点击其他。
有一个名为&#34;其他标志&#34; 的框。将此行(带符号)粘贴到框 -
`pkg-config --cflags playerc`
警告:切勿编辑框中的现有行。只需将上面一行粘贴到现有的一行旁边即可。并记住&#39;和`不一样
转到包含/目录(名称可能因eclipse版本而异)标签。有一个&#34;包含路径(-I)&#34; 框。点击添加按钮,然后导航至 - 计算机&gt; usr&gt;本地&gt;包括&gt; Player- x.x 然后按确定。
现在,最重要的步骤来到这里。在 GCC C ++链接器下,点击其他标签。有一个名为&#34; Linker flags&#34; 的框。
`pkg-config --libs playerc ++`
`pkg-config --libs playerc`
现在,转到图书馆标签,您将看到&#34;图书馆(-l)&#34; 框。按添加按钮和
如果您使用的是C ++,请粘贴行 -
<强> playerc ++ 强>
<强> playerc 强>
多数民众赞成.......现在尝试编译并构建一个示例代码。 :) :) :)