Eclipse CDT for Player / Stage模拟器中的代码构建错误

时间:2015-11-14 06:50:01

标签: c++ eclipse-cdt simulator player-stage

我正在使用播放器/舞台进行论文工作。但是,当我想在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

我尝试了很多方法来消除此错误。但是,一切都在静脉中。请帮我继续我的论文。

谢谢 纳菲斯

1 个答案:

答案 0 :(得分:0)

我已经找到了&#34;未定义的引用&#34;问题.....

如果有人想使用eclipse CDT进行舞台/播放器模拟,请按照以下步骤操作。我假设您已正确安装了播放器/舞台。

  1. 转到项目属性

  2. 展开 C / C ++ Build

  3. 点击设置

  4. 如果您要构建C ++代码,请按以下步骤操作 -

    • GCC C ++编译器下,点击其他标签。

    • 有一个名为&#34;其他标志&#34; 的框。在框 -

    • 上粘贴此行(带有“符号”)

    `pkg-config --cflags playerc ++`

    • 警告:切勿编辑框中的现有行。只需将带有空格的现有行旁边的上一行粘贴即可。并记住&#39;和`不一样。

    • 然后,转到包含/目录(名称可能因eclipse版本而异)选项卡。有一个&#34;包含路径(-I)&#34; 框。点击添加按钮,然后导航至 - 计算机&gt; usr&gt;本地&gt;包括&gt; Player- x.x 然后按确定。

  5. 如果您想构建C代码,请跳过第4条指令,然后按照以下步骤操作 -

    • GCC C编译器下,点击其他

    • 有一个名为&#34;其他标志&#34; 的框。将此行(带符号)粘贴到框 -

    `pkg-config --cflags playerc`

    • 警告:切勿编辑框中的现有行。只需将上面一行粘贴到现有的一行旁边即可。并记住&#39;和`不一样

    • 转到包含/目录(名称可能因eclipse版本而异)标签。有一个&#34;包含路径(-I)&#34; 框。点击添加按钮,然后导航至 - 计算机&gt; usr&gt;本地&gt;包括&gt; Player- x.x 然后按确定。

  6. 现在,最重要的步骤来到这里。在 GCC C ++链接器下,点击其他标签。有一个名为&#34; Linker flags&#34; 的框。

    • 如果您使用的是C ++,请粘贴以下行 -

    `pkg-config --libs playerc ++`

    • 如果您使用的是C,请粘贴以下行而不是上述

    `pkg-config --libs playerc`

    • 现在,转到图书馆标签,您将看到&#34;图书馆(-l)&#34; 框。按添加按钮和

    • 如果您使用的是C ++,请粘贴行 -

    <强> playerc ++

    • 如果您使用的是C,请粘贴以下行而不是上述

    <强> playerc

    • 最后,在下方有一个名为&#34;图书馆搜索路径(-L)&#34; 的框。点击添加按钮,然后导航至 - 计算机&gt; usr&gt;本地&gt; lib ,然后单击“确定”。
  7. 多数民众赞成.......现在尝试编译并构建一个示例代码。 :) :) :)