Tôi đang cố gắng chạy chương trình cmake hello world trên Windows 7 x64 với cả Visual Studio 2010 và Cygwin, nhưng dường như không thể hoạt động. Cấu trúc thư mục của tôi như sau:
HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/
Tôi thực hiện cd build
theo sau là a cmake ..
và gặp lỗi khi nói rằng
CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".
Tuy nhiên, nếu tôi thay đổi phần mở rộng của main.cpp thành main.c cả trên hệ thống lọc của tôi và src/CMakeLists.txt
mọi thứ đều hoạt động như mong đợi. Đây là trường hợp chạy từ cả Visual Studio Command Prompt (Visual Studio Solution Generator) và Cygwin Terminal (Unix Makefiles Generator).
Bất kỳ ý tưởng tại sao mã này không hoạt động?
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;
}