Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EclipseGDT:对库组件的未定义引用 我试图用C++(伊柯丽斯)(Neon)运行C++中的一个非常简单的GUI应用程序:程序启动,显示红色显示并在10秒后关闭它。p>_C++_Eclipse_Shell_G++_Eclipse Cdt - Fatal编程技术网

EclipseGDT:对库组件的未定义引用 我试图用C++(伊柯丽斯)(Neon)运行C++中的一个非常简单的GUI应用程序:程序启动,显示红色显示并在10秒后关闭它。p>

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

为了实现这一点,我正在运行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 = 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`