Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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
来自命令行的gnu编译器 学习C++,从命令行编译。在尝试添加第三方库时,我遇到了一个问题。我无法确定链接器系统。有人知道一个好的教程或类似的东西吗_C++_Macos_Sdl_Gnu - Fatal编程技术网

来自命令行的gnu编译器 学习C++,从命令行编译。在尝试添加第三方库时,我遇到了一个问题。我无法确定链接器系统。有人知道一个好的教程或类似的东西吗

来自命令行的gnu编译器 学习C++,从命令行编译。在尝试添加第三方库时,我遇到了一个问题。我无法确定链接器系统。有人知道一个好的教程或类似的东西吗,c++,macos,sdl,gnu,C++,Macos,Sdl,Gnu,例如,我想使用SDL2库,我将使用这样的命令 c++ -I/Library/Frameworks/SDL2.framework/Headers -L/Library/Frameworks/SDL2.framework/ -lSDL2 helloworld.cpp 我得到错误ld:library not found for-lSDL2您需要将链接标志放在最后一行: g++ -I/Library/Frameworks/SDL2.framework/Headers helloworld.cpp -

例如,我想使用SDL2库,我将使用这样的命令

c++ -I/Library/Frameworks/SDL2.framework/Headers -L/Library/Frameworks/SDL2.framework/ -lSDL2 helloworld.cpp

我得到错误ld:library not found for-lSDL2

您需要将链接标志放在最后一行:

g++ -I/Library/Frameworks/SDL2.framework/Headers  helloworld.cpp -L/Library/Frameworks/SDL2.framework/ -lSDL2

我找到了答案。以下命令已正确编译。include语句必须更改为

#include<SDL2/SDL.h>
and the correct compile command is...
c++ -o helloworld helloWorld.cpp -framework SDL2
#包括
正确的编译命令是。。。
C++ +O HeloWord HeloLogL.CPP框架SDL2
我也可以使用g++。在我的系统中,C++和G++都是同一个GNU编译器的Syrink,这正好是我在系统上安装的最新版本。 选项-L是unix链接器选项,在MAC上不起作用。GCC的开发人员非常友好,以-framework的形式包含了特定于MAC的链接器选项。这些服务遵循mac的传统,即他们喜欢如何以及在哪里存储库。您可以用逗号分隔多个框架,将它们链接在一起。例如,我也可以做-frameworksdl2,SDL2_mixer,只要我的源代码有

#include<SDL2_mixer/SDL_mixer.h> 
#包括
编译库时,库的默认搜索位置为/Library/Frameworks。include语句是跨平台兼容的,macgnu链接器知道如果我说

#include<SDL2/SDL.h> 
#包括
该标题将在/Library/Frameworks/SDL2.framework/Headers中找到


-IPATH选项在mac上仍然有效,并且可以像在unix中一样用于传递头文件和源文件的备用搜索位置。

可能的重复不确定它是否是重复的,因为这不是报告的问题,除非您可以从给定的示例中看出这实际上是问题,如果是,你可以帮用户指出这一点,然后他们可以删除他们的问题。他的问题特定于多个链接库的顺序,我只尝试使用一个库。