CMake не может определить язык компоновщика с C++

Я пытаюсь запустить программу cmake hello world в Windows 7 x64 как с Visual Studio 2010, так и с Cygwin, но, похоже, ни одна из них не работает. Моя структура каталогов выглядит следующим образом:

HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/

Я делаю cd build, за которым следует cmake.., и получаю сообщение об ошибке

CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".

Однако, если я изменю расширение main.cpp на main.c как в своей файловой системе, так и в src/CMakeLists.txt, все будет работать как положено. Это тот случай, когда выполняется как из командной строки Visual Studio (, так и из генератора решений Visual Studio )и терминала Cygwin (генератора файлов Makefile для Unix ).

Любая идея, почему этот код не будет работать?

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;
}
69
задан Chris Covert 3 August 2012 в 18:31
поделиться