EclipseGDT:对库组件的未定义引用 我试图用C++(伊柯丽斯)(Neon)运行C++中的一个非常简单的GUI应用程序:程序启动,显示红色显示并在10秒后关闭它。p>
为了实现这一点,我正在运行Allegro 5.0.10游戏引擎,它的源代码在EclipseGDT:对库组件的未定义引用 我试图用C++(伊柯丽斯)(Neon)运行C++中的一个非常简单的GUI应用程序:程序启动,显示红色显示并在10秒后关闭它。p>,c++,eclipse,shell,g++,eclipse-cdt,C++,Eclipse,Shell,G++,Eclipse Cdt,为了实现这一点,我正在运行Allegro 5.0.10游戏引擎,它的源代码在/usr/local/include/allegro5中安装了一些lib。我的程序如下所示: #include <stdio.h> #include <allegro5/allegro.h> #include <allegro5/allegro5.h> int main(int argc, char **argv){ ALLEGRO_DISPLAY *display = NU
/usr/local/include/allegro5
中安装了一些lib。我的程序如下所示:
#include <stdio.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro5.h>
int main(int argc, char **argv){
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
al_clear_to_color(al_map_rgb(255,0,0));
al_flip_display();
al_rest(10.0);
al_destroy_display(display);
return 0;
}
额外:我已经复制了答案,但仍然不起作用 您现在遇到的问题是,您添加的特殊标志出现在依赖它们的对象之前 您应该做的是将GCC链接器->命令行模式更改为在
${INPUTS}
之后有${FLAGS}
这样做会将编译行更改为:
g++ `pkg-config --libs allegro-5 allegro_image-5` -o "pang" ./main.o
致:
有关链接顺序及其重要性的更多信息,请参阅。您能否与我们分享构建控制台中显示的内容?确切显示了运行编译器/etc实际使用的命令行,可能有助于指出问题所在。@JonahGraham当然!也更新W/OFFEL信息:请考虑编辑问题只问一个问题。你问题的第一部分应该以“一个再也无法重现的问题”结束。把它放在那里会使问题的质量变差。哎呀,我希望这一个更好。顺便说一句,问题是整个问题(标题、正文和标签),而不仅仅是问题的标题:-)你问的是一个非常有用的问题,但任何未来的读者都很难将其用作资源。如果我从pkg config中删除反引号,出现错误消息:<代码>使所有构建目标:LIBPON调用:GCC C++链接器G++PKG配置-LIBS ARCROR-5 AlryRyIIGIO-5共享-O“LIBPUN”./pong.o g++:错误:pkg配置:没有这样的文件或目录g++:错误:allegro-5:没有这样的文件或目录g++:错误:allegro_image-5:没有这样的文件或目录g++:错误:无法识别的命令行选项“--libs”make:**[libPong]错误1不确定删除反引号的原因。请查看您的C/C++链接器->库设置。重新阅读我的答案,我想我明白您所做的。我试着把你说对的部分说得更清楚。对不起,我误解了你的意思。那我该怎么办?“我的库”设置中没有任何内容。我不知道额外设置
-lallegro5-fPIC
来自何处。我试过复制,但我就是做不到。您指出的另一个症状是,意外的Libbong名称是一条线索,说明可能是什么问题。但我在抓救命稻草。也许项目最初是如何创建的存在一些问题?
g++ `pkg-config --libs allegro-5 allegro_image-5` -o "pang" ./main.o
g++ -o "pang" ./main.o `pkg-config --libs allegro-5 allegro_image-5`