pthreads可编译,但未创建二进制文件 我试图编译一个C++程序,用于使用pPult的一个作业。我在Linux中使用Eclipse,在我将“-lpthread”添加到编译器参数(到g++、gcc和linker)之后,我在编译时没有遇到任何问题。然而,当我即将运行和调试时,Eclipse给了我一个错误消息窗口“Launch failed.Binary not found”

pthreads可编译,但未创建二进制文件 我试图编译一个C++程序,用于使用pPult的一个作业。我在Linux中使用Eclipse,在我将“-lpthread”添加到编译器参数(到g++、gcc和linker)之后,我在编译时没有遇到任何问题。然而,当我即将运行和调试时,Eclipse给了我一个错误消息窗口“Launch failed.Binary not found”,c++,linux,gcc,compilation,pthreads,C++,Linux,Gcc,Compilation,Pthreads,我尝试用gcc和g++手动编译它,后缀为-pthread和-lpthread,结果与之类似——“gcc:–pthread:没有这样的文件或目录” 不确定哪里出错了,因为它编译时没有问题,只是不生成exe。 我想我可能需要买点东西 我该怎么办?你编译得怎么样?这应该很好: gcc-ofooo.c-lpthread您是如何编译的?这应该很好: gcc-o foo foo.c-lpthreadg++-pthread-ggdb-Wall-pedantic-o myexe*.cpp-lpthread应该可

我尝试用gcc和g++手动编译它,后缀为-pthread和-lpthread,结果与之类似——“gcc:–pthread:没有这样的文件或目录”

不确定哪里出错了,因为它编译时没有问题,只是不生成exe。 我想我可能需要买点东西


我该怎么办?

你编译得怎么样?这应该很好:


gcc-ofooo.c-lpthread

您是如何编译的?这应该很好:


gcc-o foo foo.c-lpthread
g++-pthread-ggdb-Wall-pedantic-o myexe*.cpp-lpthread
应该可以工作。

g++-pthread-ggdb-Wall-pedantic-o myexe*.cpp-lpthread
应该可以工作。

gcc-pthread./*.cpp-o Ex2.exe g++-pthread./*.cpp-o Ex2.exe./*.cpp-o Ex2.exe不适用于其中任何一个。@Nefzen-在pthread之前不要使用两个破折号,它只是一个破折号。您只需要一个pthread语句,并且在末尾使用-lpthread就足够了。好的,我只在Eclipse中将-lpthread添加到链接器中,现在它可以工作了。万岁。愉快地调试now.gcc–pthread./*.cpp-o Ex2.exe g++–pthread./*.cpp-o Ex2.exe gcc–lpthread./*.cpp-o Ex2.exe g++–lpthread./*.cpp-o Ex2.exe不工作。@Nefzen-不要在pthread之前使用两个破折号,它只是一个破折号。您只需要一个pthread语句,并且在末尾使用-lpthread就足够了。ok,我只在Eclipse中将-lpthread添加到链接器中,现在它可以工作了。万岁。现在调试很愉快。现在它给了我一个“未定义的对`void*Run(void*)”的引用”错误,尽管在Eclipse中仍然没有错误,但它仍然没有生成二进制文件。这意味着链接器找不到Run()函数的模板扩展。是的,我将模板移动到了头,应该在之前获取它。它正在运行,但我得到了一个它无法捕获的异常,可能在另一个线程中:\uncaughtexception将终止程序。如果您得到一个“核心”文件,请使用“gdb prog core file”将其加载到调试器中,以查看在何处引发它。以下gdb命令在调试线程化应用程序时非常有用:“info threads”、“thread apply all bt”、“thread”。现在它给了我一个“对`void*Run(void*)的未定义引用”错误,尽管在Eclipse中仍然没有错误,但它仍然没有生成二进制文件。这意味着链接器找不到Run()函数的模板扩展。是,我把模板移到了页眉上,应该在之前把它捡起来。它正在运行,但我得到了一个它无法捕获的异常,可能在另一个线程中:\uncaughtexception将终止程序。如果您得到一个“核心”文件,请使用“gdb prog core file”将其加载到调试器中,以查看在何处引发它。以下gdb命令在调试线程应用程序时非常有用:“info threads”、“thread apply all bt”、“thread”。