Player/Stage 模拟器的 Eclipse CDT 中的代码构建错误
Code Building Error in Eclipse CDT for Player/Stage simulator
我正在使用 Player/Stage 来完成我的论文工作。但是,当我想在 Eclipse 中构建此代码时,我收到 undefined reference 错误消息 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
在此 link 中,您将获得我的 Eclipse 项目属性的快照:
https://www.dropbox.com/sh/9hcmditufu0lt6v/AAChqD1-FMM9FhvTWpuOGMQ-a?dl=0
我已经尝试了很多方法来消除这个错误。但是,一切都在静脉中。请帮助我继续我的论文。
谢谢
纳菲斯
我已经解决了 "undefined reference" 问题.....
如果有人想用eclipse CDT进行stage/player模拟,请按以下步骤操作。我假设您已正确安装 Player/Stage。
转到项目 属性。
展开C/C++构建.
单击设置。
如果要构建 C++ 代码,请按照以下步骤操作 -
在 GCC C++ 编译器 下,单击 杂项 选项卡。
有一个名为"Other flags"的盒子。将此行(带有`符号)粘贴到框上 -
`pkg-config --cflags playerc++`
注意:切勿编辑框中的现有行。只需将上面的行粘贴到带有 space 的现有行旁边。请记住 ' 和 ` 是不一样的。
然后,转到includes/directories(名称可能因eclipse 版本而异)选项卡。有一个 "include paths(-I)" 框。单击 添加 按钮并导航至 - 计算机 > usr > 本地 > 包括 > 播放器- x.x 然后按确定。
如果您想构建 C 代码,请跳过第 4 条指令并按照以下步骤操作 -
在 GCC C 编译器 下,单击 杂项。
有一个名为"Other flags"的盒子。将此行(带有`符号)粘贴到框上 -
`pkg-config --cflags playerc`
注意:切勿编辑框中的现有行。只需将上面的行粘贴到带有 space 的现有行旁边。记住 ' 和 ` 是不一样的
转到includes/directories(名称可能因 eclipse 版本而异)选项卡。有一个 "include paths(-I)" 框。单击 添加 按钮并导航至 - 计算机 > usr > 本地 > 包括 > 播放器- x.x 然后按确定。
现在,最重要的步骤来了。在 GCC C++ Linker 下,单击 Miscellaneous 选项卡。有一个名为 "Linker flags" 的框。
- 如果您使用的是 C++,请粘贴以下行 -
`pkg-config --libs playerc++`
- 如果您使用的是 C,请粘贴以下行而不是上面的 -
`pkg-config --libs playerc`
现在,转到库 选项卡,在那里您会看到"Libraries (-l)" 框。按 添加 按钮和
如果您使用的是 C++,请粘贴行-
playerc++
- 如果您使用的是 C,请粘贴以下行而不是上面的 -
playerc
- 最后,下面有一个名为"Library search path (-L)"的盒子。单击 添加 按钮并导航到 - 计算机 > usr > 本地 > lib 然后单击确定。
就是这样.......现在尝试编译和构建示例代码。 :) :) :)
我正在使用 Player/Stage 来完成我的论文工作。但是,当我想在 Eclipse 中构建此代码时,我收到 undefined reference 错误消息 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
在此 link 中,您将获得我的 Eclipse 项目属性的快照: https://www.dropbox.com/sh/9hcmditufu0lt6v/AAChqD1-FMM9FhvTWpuOGMQ-a?dl=0
我已经尝试了很多方法来消除这个错误。但是,一切都在静脉中。请帮助我继续我的论文。
谢谢 纳菲斯
我已经解决了 "undefined reference" 问题.....
如果有人想用eclipse CDT进行stage/player模拟,请按以下步骤操作。我假设您已正确安装 Player/Stage。
转到项目 属性。
展开C/C++构建.
单击设置。
如果要构建 C++ 代码,请按照以下步骤操作 -
在 GCC C++ 编译器 下,单击 杂项 选项卡。
有一个名为"Other flags"的盒子。将此行(带有`符号)粘贴到框上 -
`pkg-config --cflags playerc++`
注意:切勿编辑框中的现有行。只需将上面的行粘贴到带有 space 的现有行旁边。请记住 ' 和 ` 是不一样的。
然后,转到includes/directories(名称可能因eclipse 版本而异)选项卡。有一个 "include paths(-I)" 框。单击 添加 按钮并导航至 - 计算机 > usr > 本地 > 包括 > 播放器- x.x 然后按确定。
如果您想构建 C 代码,请跳过第 4 条指令并按照以下步骤操作 -
在 GCC C 编译器 下,单击 杂项。
有一个名为"Other flags"的盒子。将此行(带有`符号)粘贴到框上 -
`pkg-config --cflags playerc`
注意:切勿编辑框中的现有行。只需将上面的行粘贴到带有 space 的现有行旁边。记住 ' 和 ` 是不一样的
转到includes/directories(名称可能因 eclipse 版本而异)选项卡。有一个 "include paths(-I)" 框。单击 添加 按钮并导航至 - 计算机 > usr > 本地 > 包括 > 播放器- x.x 然后按确定。
现在,最重要的步骤来了。在 GCC C++ Linker 下,单击 Miscellaneous 选项卡。有一个名为 "Linker flags" 的框。
- 如果您使用的是 C++,请粘贴以下行 -
`pkg-config --libs playerc++`
- 如果您使用的是 C,请粘贴以下行而不是上面的 -
`pkg-config --libs playerc`
现在,转到库 选项卡,在那里您会看到"Libraries (-l)" 框。按 添加 按钮和
如果您使用的是 C++,请粘贴行-
playerc++
- 如果您使用的是 C,请粘贴以下行而不是上面的 -
playerc
- 最后,下面有一个名为"Library search path (-L)"的盒子。单击 添加 按钮并导航到 - 计算机 > usr > 本地 > lib 然后单击确定。
就是这样.......现在尝试编译和构建示例代码。 :) :) :)