Linux Mint を実行しています。バージョン情報は次のとおりです。
$ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=12
DISTRIB_CODENAME=lisa
DISTRIB_DESCRIPTION="Linux Mint 12 Lisa"
sfml を使用する C++ プログラムのファイルをコンパイルおよびリンクしようとしています。ファイルをコンパイルしようとすると、次のエラーが発生します。
$g++ -c lineTest.cpp Rasterizer.cpp simpleCanvas.cpp
In file included from /usr/local/include/SFML/System/Resource.hpp:211:0,
from /usr/local/include/SFML/Graphics/Image.hpp:31,
from simpleCanvas.h:13,
from simpleCanvas.cpp:9:
/usr/local/include/SFML/System/ResourcePtr.inl:
In constructor ‘sf::ResourcePtr< <template-parameter-1-1> >::ResourcePtr()’:
/usr/local/include/SFML/System/ResourcePtr.inl:31:12:
error: ‘NULL’ was not declared in this scope
/usr/local/include/SFML/System/ResourcePtr.inl: In member function ‘void sf::ResourcePtr< <template-parameter-1-1> >::OnResourceDestroyed()’:
/usr/local/include/SFML/System/ResourcePtr.inl:148:18: error: ‘NULL’ was not declared in this scope
ResourcePtr.inl ファイルでの「NULL」の使用に問題があるようです。個人的には、このキーワードの使用を控えて 0 を使用するのが一般的ですが、自分が書いたわけでもないパッケージ ファイルで使用されている場合はどうすればよいでしょうか。さらに、管理者権限がないとファイルを編集して修正することはできませんが、sudo を使用して編集し、#include <cstddef>
. これにより、何かが「定義されていない」か、キーワードまたはタイプが認識されないという、同様の問題の群れへの水門が開かれました (リストが長すぎて、ここに投稿できません)。これは、ライブラリに何かが欠けていることを示しているようです。最初にライブラリをセットアップするのにかなり苦労したので、正しくセットアップできなかった可能性があることに気付きました。ここのこの質問でそれを見ることができます. 私が間違っていることや、この問題を解決するために何ができるかを誰かが知っていますか?