Код: Выделить всё
#include
#include
#include
int main(int argc, char* argv[])
{
QString cwd = QDir::currentPath();
std::string cwdStd = cwd.toStdString();
std::cout .\Dummy.exe
< /code>
Если я дважды щелкните исполняемый файл, я не получаю никаких выводов. (Без ошибок, либо)
Я считал, что это может быть проблема DLL, я запустил ntldd
/c/source/dummy/build >ntldd /c/source/dummy/build/Dummy.exe
libgcc_s_seh-1.dll (0x0000013a5e920000)
KERNEL32.dll => C:\WINDOWS\SYSTEM32\KERNEL32.dll (0x0000013a5ebc0000)
libstdc++-6.dll (0x0000013a5ebc0000)
Qt6Core.dll (0x0000013a5f9c0000)
< /code>
Ожидается. В случае, если у Windows была некоторая проблема с поиском DLL MSYS2, я копировал эти 3 (LIBGCC, LIBSTDC ++, QT6CORE) рядом с исполняемым файлом, но это не имело разницы.cmake_minimum_required(VERSION 3.16...3.29)
set(EXECUTABLE_NAME Dummy)
project(${EXECUTABLE_NAME} LANGUAGES CXX)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6Core REQUIRED)
set(SOURCES
main.cpp
)
add_executable(${EXECUTABLE_NAME} WIN32
${SOURCES}
)
target_compile_features(${EXECUTABLE_NAME} PUBLIC cxx_std_17)
target_compile_options(${EXECUTABLE_NAME} PRIVATE -fPIC)
target_compile_definitions(${EXECUTABLE_NAME} PRIVATE -DQT_DEPRECATED_WARNINGS)
target_link_libraries(${EXECUTABLE_NAME} PUBLIC Qt6::Core)
install(TARGETS ${EXECUTABLE_NAME} DESTINATION ${BINARY_INSTALL_DIR})
< /code>
На случай, если это актуально, вот мой запуск.json: < /p>
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "C:\\source\\dummy\\build\\Dummy.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
< /code>
Что мне не хватает? Я просмотрел эту аналогичную проблему, но, к сожалению, я уже позаботился о пути. Cmake был настроен на «Unix Makefiles» в качестве генератора, так как нам повезло с этим в MSYS2.
Подробнее здесь: https://stackoverflow.com/questions/797 ... powershell