Я пытаюсь научиться использовать CMAKE для создания сборок. Я экспериментировал, но не могу отладить работу над моими проектами. Чтобы проверить это, я настроил базовый проект hello world, такой как: SimpleProject --Include --Main.cpp --CMakeLists.txt
Это содержимое Main.cpp.
#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
std::getchar();
return 0;
}
и это содержимое CMakeLists.txt:
cmake_minimum_required(VERSION 3.15.3)
project(CleanProject LANGUAGES CXX C)
add_executable(CleanProject Include/Main.cpp)
Теперь я запускаю cmake с помощью следующей команды в консоли разработчика: D: \ Development \ SimpleProject \ Build> cmake -DCMAKE_BUILD_TYPE =Отладка ..
-- Building for: NMake Makefiles
-- The CXX compiler identification is MSVC 19.23.28105.4
-- The C compiler identification is MSVC 19.23.28105.4
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual
Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual
Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx86/x86/cl.exe --
works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual
Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual
Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx86/x86/cl.exe --
works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Development/SimpleProject/Build
Наконец, я строю, используя nmake
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
Scanning dependencies of target CleanProject
[ 50%] Building CXX object CMakeFiles/CleanProject.dir/Include/Main.cpp.obj
Main.cpp
[100%] Linking CXX executable CleanProject.exe
[100%] Built target CleanProject
Если я сейчас попробую отладить эту программу, будь то в IDE, например, eclipse, или с помощью gdb из командыВ строке появится сообщение об ошибке «Обнаружены не символы отладки», как показано ниже.
D: \ Development \ SimpleProject \ Build> C: \ MinGW \ bin \ gdb.exe CleanProject.exe GNU GDB (GDB) 7,6.1 Copyright (C) 2013 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или более поздней * http://gnu.org/licenses/gpl.html Это бесплатное программное обеспечение: вы можете изменять и распространять его. НЕ ПРЕДОСТАВЛЯЕТСЯ ГАРАНТИИ, если это разрешено законом. Введите «показать копирование» и «показать гарантию» для деталей. Этот GDB был настроен как "mingw32". Инструкции по сообщению об ошибках см. В: http://www.gnu.org/software/gdb/bugs/... Чтение символов из D: \ Development \ SimpleProject \ Build \ CleanProject.exe ... (символы отладки не найдены) ... выполнено.
Iне могу найти решение для этого. Я попытался добавить несколько различных переменных в мой файл cmakelist или в качестве дополнительных опций для cmake, но безуспешно. Любая помощь будет принята с благодарностью, так как это единственное препятствие, оставшееся на данный момент. Мои большие проекты также успешно строятся, но без отладки довольно сложно продолжить. Спасибо!