5
私はthis questionに従っています。しかし、エラーと私のcmake
顔は:cmake:先頭または末尾の空白(ポリシーCMP0004)
-- Configuring done
CMake Error at CMakeLists.txt:18 (add_executable):
Target "main" links to item "-L/usr/lib/x86_64-linux-gnu -lSDL2 " which has
leading or trailing whitespace. This is now an error according to policy
CMP0004.
-- Generating done
cmake
リストの何が問題になっているのですか?
cmake
のバージョン違いがこのようなエラーにつながるとは思いません。
# CMakeLists.txt
cmake_minimum_required(VERSION 3.5.1)
project (main)
add_executable(main
main.cpp
)
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIRS})
target_link_libraries(main ${SDL2_LIBRARIES})
。
// main.cpp
int main()
{
return 0;
}
更新:
/usr/lib/x86_64-linux-gnu/cmake/SDL2/sdl2-config.cmake
の内容は、ソリューションがsdl2-config.cmake
ファイルを編集することです
# sdl2 cmake project-config input for ./configure scripts
set(prefix "/usr")
set(exec_prefix "${prefix}")
set(libdir "${prefix}/lib/x86_64-linux-gnu")
set(SDL2_PREFIX "/usr")
set(SDL2_EXEC_PREFIX "/usr")
set(SDL2_LIBDIR "${prefix}/lib/x86_64-linux-gnu")
set(SDL2_INCLUDE_DIRS "${prefix}/include/SDL2")
set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} -lSDL2 ")
これはSDL2で提供されているパッケージ設定ファイルの問題のようです(ただし、私はSDL2を使用しないため、これ以上コメントできません)。 – Angew
SDL2のインストールには 'sdl2-config.cmake'ファイルが含まれている必要があります(これは' libsdl2-dev'パッケージの一部でもかまいません)。このファイルの内容を表示してください。次のように見える場合:https://github.com/xerpi/SDL-Vita/blob/master/sdl2-config.cmake.in(* SD2_LIBRARIES *変数の内容は二重引用符で囲まれています)、エラーが理解できる。速い修正は、これらの二重引用符を削除することです。 – Tsyvarev
@Tsyvarev、更新されました。 – ar2015