Saya mencoba menjalankan program cmake hello world pada Windows 7 x64 dengan Visual Studio 2010 dan Cygwin, tetapi sepertinya tidak bisa keduanya bekerja. Struktur direktori saya adalah sebagai berikut:
HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/
Saya melakukan cd build
diikuti dengan a cmake ..
, dan mendapatkan kesalahan yang menyatakan itu
CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".
Namun, jika saya mengubah ekstensi main.cpp menjadi main.c baik di filsystem saya dan src/CMakeLists.txt
semuanya berfungsi seperti yang diharapkan. Ini adalah kasus yang berjalan dari Visual Studio Command Prompt (Visual Studio Solution Generator) dan Cygwin Terminal (Unix Makefiles Generator).
Tahu mengapa kode ini tidak berfungsi?
CMakeLists.txt
PROJECT(HelloWorld C)
cmake_minimum_required(VERSION 2.8)
# include the cmake modules directory
set(CMAKE_MODULE_PATH ${HelloWorld_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
add_subdirectory(src)
src / CMakeLists.txt
# Include the directory itself as a path to include directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Create a variable called helloworld_SOURCES containing all .cpp files:
set(HelloWorld_SOURCES main.cpp)
# Create an executable file called helloworld from sources:
add_executable(hello ${HelloWorld_SOURCES })
src / main.cpp
int main()
{
return 0;
}