Ich versuche, ein Cmake Hallo Welt-Programm auf Windows 7 x64 mit Visual Studio 2010 und Cygwin auszuführen, aber kann nicht scheinen, entweder zu arbeiten. Meine Verzeichnisstruktur ist wie folgt:CMake kann Linkersprache mit C++ nicht bestimmen
HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/
Ich mache cd build
gefolgt von einem cmake ..
, und erhalten Fehler, der besagt, dass
CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".
Allerdings, wenn ich die Erweiterung der main.cpp zur Haupt ändern. c sowohl auf meinem filsystem als auch in src/CMakeLists.txt
funktioniert alles wie erwartet. Dies ist der Fall, der sowohl von der Visual Studio-Eingabeaufforderung (Visual Studio Solution Generator) als auch vom Cygwin-Terminal (Unix Makefiles Generator) ausgeführt wird.
Irgendeine Idee, warum dieser Code nicht funktionieren würde?
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;
}
"[...] wenn ich die Erweiterung von main.cpp ändern [...]" Was ändern Sie es? .cc? – JAB
oops. Habe das zufällig vergessen. Ich ändere es in '.c'. Im ursprünglichen Beitrag bearbeitet. Es lässt mich fast glauben, dass es keinen cpp-Compiler oder etwas Ähnliches gibt, aber g ++ ist installiert und Visual Studio sollte auch keine Probleme mit C++ haben. –