问题描述
结构:
cmake_minimum_required(VERSION 3.8)
project(codego)
file(GLOB CODEGO_SOURCES "src/*.cpp")
file(GLOB CODEGO_HEADERS "include/*.h")
file(GLOB CODEGO_UIS "ui/*.ui")
file(GLOB CODEGO_RES "res/*.qrc")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOUIC_SEARCH_PATHS ui)
add_executable(${PROJECT_NAME} src/main.cpp ${CODEGO_UIS})
target_include_directories(${PROJECT_NAME} PUBLIC include)
target_include_directories(${PROJECT_NAME} PUBLIC ui)
target_include_directories(${PROJECT_NAME} PUBLIC res)
find_package(Qt5Core required)
find_package(Qt5Gui required)
find_package(Qt5Widgets required)
find_package(Qt5Xml required)
find_package(Qt5Svg required)
# Add the include directories for the Qt 5 modules to the compile lines.
include_directories(${Qt5Core_INCLUDE_Dirs}/QtCore)
include_directories(${Qt5Gui_INCLUDE_Dirs}/QtGui)
include_directories(${Qt5Widgets_INCLUDE_Dirs}/QtWidgets)
include_directories(${Qt5Xml_INCLUDE_Dirs}/QtXml)
include_directories(${Qt5Xml_INCLUDE_Dirs}/QtSvg)
# Use the compile deFinitions defined in the Qt 5 modules
add_deFinitions(${Qt5Core_DEFinitioNS})
add_deFinitions(${Qt5Gui_DEFinitioNS})
add_deFinitions(${Qt5Widgets_DEFinitioNS})
add_deFinitions(${Qt5Xml_DEFinitioNS})
add_deFinitions(${Qt5Svg_DEFinitioNS})
qt5_wrap_ui(WRAP_UI_MOC ${CODEGO_UIS})
qt5_wrap_cpp(WRAP_HEADER_MOC ${CODEGO_HEADERS})
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR})
include_directories(${CMAKE_BINARY_DIR})
include_directories(include)
add_library(PROJECT_LIBRARIES SHARED
${CODEGO_SOURCES}
${WRAP_UI_MOC}
${WRAP_HEADER_MOC})
target_link_libraries(${PROJECT_NAME}
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Xml
Qt5::Svg)
target_link_libraries(${PROJECT_NAME} PROJECT_LIBRARIES)
src / module / tsconfig.json(可能是问题所在):
node_modules
└── <node modules here>
src
├── module
│ ├── dist
| | ├── foo.d.ts
│ │ └── foo.js
│ ├── foo.ts
│ └── tsconfig.json
└── main
├── <.ts files>
└── tsconfig.json
问题:
{
"compilerOptions": {
"sourceMap": true,"module": "commonjs","moduleResolution": "node","importHelpers": true,"downlevelIteration": true,"target": "ES2019","outDir": "./dist/","allowJs": true,"composite": true,"declaration": true,"lib": ["es2016"]
}
}
src / main / tsconfig.json,以防万一:
tsc --build src/main
src/module/dist/foo.d.ts:1:23 - error TS2688: Cannot find type deFinition file for 'draft-js/node_modules/immutable'.
1 /// <reference types="draft-js/node_modules/immutable" />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules中的文件本身显然存在。
tsc --build src / module完成没有错误。
在转换为打字稿项目引用之前,一切正常。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)