使用 Cmake 在 Qt Creator 中显示头文件
Display header files in Qt Creator using Cmake
所以我只是用Qt Creator设置了一个新的Cmake项目。然后我向项目添加了一些类,Qt Creator显示文件如下:
- 项目文件夹
- 项目名称
- 源文件
- 头文件
- 项目名称
现在,当我仅添加头文件(新文件> C++头文件(时(没有源文件(,头文件不会显示在Qt Creator显示的项目树中(我在头文件下找不到它(。我可以看到正在创建头文件(使用 Ctrl+K(,但它没有显示在头文件下。 我在这里读过另一个问题,但提供的主要答案并没有真正回答这个问题。
我的CMakeslist.txt
如下所示:
cmake_minimum_required(VERSION 3.5)
project(TEST LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
# They need to be set before the find_package(Qt5 ...) call.
#if(ANDROID)
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
# if (ANDROID_ABI STREQUAL "armeabi-v7a")
# set(ANDROID_EXTRA_LIBS
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
# endif()
#endif()
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
if(ANDROID)
add_library(TEST SHARED
main.cpp
wetcanvas.cpp
wetrenderer.cpp
qml.qrc
)
else()
add_executable(TEST
main.cpp
wetcanvas.cpp
wetrenderer.cpp
qml.qrc
)
endif()
target_compile_definitions(TEST
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(TEST
PRIVATE Qt5::Core Qt5::Quick)
您需要将标头添加到 CMake 中的源列表中。 在您的情况下
if(ANDROID)
add_library(TEST SHARED
main.cpp
wetcanvas.cpp
wetrenderer.cpp
MyHeader.h
qml.qrc
)
else()
add_executable(TEST
main.cpp
wetcanvas.cpp
wetrenderer.cpp
MyHeader.h
qml.qrc
)
endif()
提示: 您可能需要考虑将源放在它们自己的变量中,如下所示:
set(COMMON_SRC
main.cpp
wetcanvas.cpp
wetrenderer.cpp
MyHeader.h
qml.qrc
)
set(ANDROID_SRC
AndroidSpecific.cpp
AndroidSpecific.h
)
if(ANDROID)
add_library(TEST SHARED
${COMMON_SRC}
${ANDROID_SRC}
)
else()
add_executable(TEST
${COMMON_SRC}
)
endif()
当项目变得更加复杂时,它会得到回报。
相关文章:
- gtkmm 显示文件内容
- 如何在 MFC 中显示文件的所有行
- 程序应该显示文件的最后5行,但它不适用于大文件
- 显示文件中具有最小给定元音数的单词
- 如何在 QT 中显示文件加载状态
- 如何在窗口中显示文件夹中所有文件的名称?Qt c++.
- 如何仅显示文件中的一个帐户?
- 如何在C 中显示文件
- 无法显示文件(与类有关)
- 如何禁用调试控制台在我的代码中显示文件地址
- 文件I/O-显示文件的内容
- qt5设计器,使用fileopen,在lineedit中显示文件路径,这样做是否有问题
- 如何在C++中显示文件的内容
- 在可视C++ 6 中显示文件夹选择对话框
- 如何在 c++ 中使用 system() 显示文件的内容
- 为什么如果数据已经发送,则选择仅显示文件描述符已就绪
- QFilesystemModel仅显示文件
- 读取和显示文件
- 在opencv中显示文件中的视频
- 读取并显示文件,但输出不正确