Использование cmake для Windows для С++
около 5 дней подряд я пытаюсь настроить свой компьютер с помощью среды С++ для программирования с такими библиотеками, как sdl, glm, opengl. это важно для нас, чтобы иметь возможность запускать его на машинах unix на презентациях, чтобы я работал с cmake.
Я, наконец, получил его для работы с cmake-gui, я даже не буду больше пытаться попробовать с любой IDE.
Я указал проект моей папки и где для сборки двоичных файлов, я получил папку "CMakeFiles" вместе с txt "CMakeCache", файл CMAKE "cmake_install.cmake" и файл "Makefile". также в моей папке "CMakeFiles" есть много других папок, таких как "CMakeTmp", "CompilerIdC", "CompilerIdCXX и т.д.", и в обеих папках "Compiler *" есть каждый .exe, который не работает! так где мой желаемый исполняемый файл?
я открыл cmd и перешел к моей папке и попытался написать "make", как мы должны делать в соответствии с конструкцией. увы, он не работал очень хорошо. надеясь, что вы сможете поделиться своей мудростью и помочь новичкам, как я!
, что именно необходимо для компиляции проектов, содержащих дополнительные библиотеки? до сих пор у меня есть компилятор, Mingw32, последний CMake и использование cmake-gui для извлечения двоичных файлов, но получает make файлы.
EDIT:
hrrm. это только я, кто сталкивается с такими проблемами? я могу добавить, что я внимательно изучаю около 10 обучающих программ, и 90% шагов аналогичны (если компилировать с помощью VS, который я пробовал сначала):
- Загрузите последнюю версию SDL
- Создайте папку, например, C:\SDL с двумя папками, include и lib
- Скопируйте библиотеки и включите их из загруженного SDL
- Создайте новый проект VS, откройте каталоги VС++ и добавьте папку lib/incl, например C:\SDL
- Добавить в linker SDL.lib и SDLmain.lib(я убедился, что они связаны, здесь нет проблем)
- Измените систему на WINDOWS (необязательно, если вы не хотите два окна)
- Добавлены в "дополнительные библиотеки"
- Поместите файл SDL.dll(который я получил из последнего SDL) в свой C:\windows\system32 (64SysWoW)
а также в файле проекта.
то, что я действительно ищу, это gettning CMake для работы, поскольку он генерирует и строит источники успешно (с gui), и я чувствую, что я закрываю. Мне нужно добавить любые дополнительные библиотеки из sdl в мой компилятор mingw32 и/или cmake?
Ответы
Ответ 1
Вы были почти там с Visual Studio. Выберите Visual Studio в качестве цели. Откройте сгенерированный проект в Visual Studio, создайте его. (точно так же, как вы это делали). Затем вместо того, чтобы пытаться запустить BUILD_ALL, запустите реальный проект, который создает исполняемый файл, он также должен быть в этом списке. Просто щелкните правой кнопкой мыши и "играйте".
Если вы все еще получаете ошибки, опубликуйте их подробно, включая то, что вы сделали до ошибки. Примечание. Тщательно сконфигурированный проект CMake для кросс-платформы (также известный как CMakeLists.txt) не требует каких-либо операций с каталогами VС++. Он должен работать автоматически, особенно с известными libs, такими как SDL.
Ответ 2
если вы запускаете cmake по команде:
cmake -G "Visual Studio 14 Win64" path\to\source\dir
вам нужно запустить эту команду для продолжения (в Командная строка Visual Studio):
msbuild Project.sln
если вы запустите cmake:
cmake -G "NMake Makefiles" path\to\source\dir
вам нужно запустить этот cmd для продолжения (в Командная строка Visual Studio):
nmake
Ответ 3
Если я правильно понял, вы хотите использовать CMake в своем проекте. Я использую CMake во всех моих проектах. Я не буду давать точные пошаговые инструкции, поскольку я использую Arch Linux, но я использовал его и в Windows 7.
- Чтобы заставить CMake находить библиотеки, часто необходимо настроить переменную среды CMAKE_PREFIX_PATH, чтобы она указывала на каталоги, в которых установлены зависимости вашего проекта.
- Задайте переменную среды PATH, чтобы вы могли вызывать ваш компилятор и выполнять только путем вызова, например, путем вызова.
make.
Мне кажется, что вам нужно сделать, чем вручную для Mingw32, для Visual Studio вы можете использовать "Visual Studio Command Propt", в котором уже установлены эти переменные.
-
Запустите CMake с нужным генератором. Для выбора генератора из командной строки используйте переключатель -G. Вероятно, вы используете одно из следующих (... означает другие параметры, которые вы хотите передать в cmake)
Для использования GNU в MinGW используйте cmake -G "MinGW Makefiles" ...
Для NMake из visual studio используйте cmake -G "NMake Makefiles" ...
Также возможно создать проект Visual Studio, но я не рекомендую его, так как тогда довольно сложно настроить автоматические сборки. У меня также были некоторые проблемы с зависимостями, когда я пытался использовать проект VS.
- смените каталог на каталог сборки (т.е. тот, где вы назвали
cmake
, он содержит файл CMakeCache) и запустите make
или nmake
Ответ 4
Цитата изподдержки CMake в Visual Studio":
Visual Studio 2017 представляет встроенную поддержку для обработки проектов CMake. Это значительно упрощает разработку проектов C++, созданных с помощью CMake, без необходимости генерировать проекты и решения VS из командной строки. В этой статье дается обзор поддержки CMake, как легко начать работу и оставаться продуктивным в Visual Studio.