cmakeにフラグを追加して、MacでC++11で動作させるための手順を使用してSFML2をコンパイルしました。
EclipseをIDEとして使用してライブラリを試すと、不明なシンボルが表示されます。使用しているコマンドは次のとおりです。
g++-4.7 -L/usr/local/lib -std=c++11 -o "Breakout" ./main.o -lsfml-window -lsfml-system -lsfml-graphics
それが吐き出すエラーは次のとおりです。
Undefined symbols for architecture x86_64:
"sf::RenderWindow::RenderWindow(sf::VideoMode, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, sf::ContextSettings const&)", referenced from:
_main in main.o
このコードの使用:
#include <SFML/Graphics.hpp>
int main () {
sf::RenderWindow window(sf::VideoMode(800,600), "window");
return 1;
}
問題は、SFMLがClangでコンパイルされており、GCC4.7を使用していることだと思います。GCCを使用してSFMLをコンパイルすることはできません。これは、ObjectiveCとCocoaのものについて不平を言うためです。私はそれを避けることができれば、IDE用のEclipseが好きなので、このプロジェクトではClangに切り替えたくありませんが、Clangのサポートはくだらないです。
編集:私はほとんど忘れていました、Linuxではすべてが正常に動作します。私は移植しているプロジェクトを持っていて、物事をテストするためにブレイクアウトクローンを作成しようとしていました。私がすでに持っているプロジェクトはかなり大きいので、できるだけ多くの作業を避けたいと思います。