我目前正在努力加深对CMake的理解。我试着用http://libqglviewer.com/introduction.html]LibQGLViewer是我的一个C项目中的第三方库。
相关子目录中的CMakeLists.txt看起来像下面的部分,我有问题是add_libary部分,为了清晰起见,省略了一些头文件和源文件
cmake_minimum_required (VERSION 3.5.1 FATAL_ERROR)
set(target_name QGLViewerQt5)
project(${target_name})
message(STATUS "BUILDING QGLViewer-2.7.0 FROM SOURCE!")
set(BASE_DIR QGLViewer)
set(VRENDER_DIR VRender)
set(CMAKE_AUTOMOC ON)
set(QGLheaders
${BASE_DIR}/camera.h
${BASE_DIR}/config.h
${BASE_DIR}/${VRENDER_DIR}/AxisAlignedBox.h
${BASE_DIR}/${VRENDER_DIR}/Exporter.h
)
set(QGLsources
${BASE_DIR}/camera.cpp
${BASE_DIR}/${VRENDER_DIR}/Exporter.cpp
)
add_library(${target_name} ${QGLsources} ${QGLheaders})
target_include_directories(${target_name}
PUBLIC .
)
target_link_libraries(${target_name}
${OPENGL_LIBRARIES}
Qt5::Core
Qt5::Widgets
Qt5::Xml
Qt5::OpenGL
)
set(CMAKE_AUTOMOC OFF)
install(TARGETS ${target_name} DESTINATION lib)
我的应用程序运行,一切都很好。
但是,我读到,应该只包含ADDILL库的源文件,然后使用TajyPixDebug目录考虑相关联的头文件。所以我把上面的部分改为
add_library(${target_name} SHARED ${QGLsources})
target_include_directories(${target_name}
PUBLIC
${PROJECT_SOURCE_DIR}/QGLViewer
${PROJECT_SOURCE_DIR}/QGLViewer/VRender
)
但是现在,我在尝试制作我的项目时出错了
致命错误:QGLViewer/QGLViewer。h:没有终止此类文件或目录编译。
你能告诉我吗
提前谢谢你
PS:文件夹结构如下所示
首先,target_include_directories()
根据官方文档target_include_directories(
PRIVATE
:将目录添加到的INCLUDE_DIRECTORIES
属性
那些房产呢:
INCLUDE_目录
-包含用于搜索项目中使用的头文件的目录列表
INTERFACE_INCLUDE_DIRECTORIES
-也包含用于搜索头文件的目录列表,但它具有传递性,这意味着您可以继承INCLUDE目录,通过target_link_libraries()链接到项目中。
第二,您的代码无法工作,因为您正在使用另一个包含文件夹路径,您的源文件必须包含类似于
#include的内容
我试着建立Gradle: 尝试:使用--info或--debug选项运行以获取更多日志输出。 这是我的等级。建造:
我正在使用Fresco库将图像和GIF加载到我的应用程序中。我遇到的最大的限制是壁画的布局宽度和高度必须设置。因此,我设置了简单的付款人视图,如下所示: 我的问题是,如果图像的高度大于宽度,那么在图像的右边有很多空白(见附件),但是高度是好的 然后它可能发生在高度,如果实际图像小于宽度(见附件),所以这里,因为固定的高度是250dp,有很多空白的图像下面。
我的目标是:正在使用和正在使用(应该链接库)(可能还有 工作起来没有任何问题。但它并没有形成一个图书馆链。< code>library1.cu和< code>library2.cu在同一个< code >中。so文件。 失败 如果我通过检查 ,则目标(T)内部。
提供了大量的库例程。 有些内置在解释器, ex.exe, exw.exe or exu 。 其他的是用Euphoria编写的,你必须在euphoria\include目录中包含一个.e文件才能使用它们。 要指出可以传入和返回的对象类型,使用以下前缀 - S.No 前缀和描述 1 x 一般对象(原子或序列) 2 s 一个序列 3 a 一个原子 4 i 整数 5 fn 用作文件编号的整数 6 st 字
库正由[15.0.0,15.0.0]、[16.0.0,16.0.0]]上的各种其他库请求,但解析为16.0.0。禁用插件并使用检查依赖关系树/gradlew:app:dependencies。
我正在使用npm的一个简单的第三方库,卡方检验(https://www.npmjs.com/package/chi-squared-test). 它以commonjs风格导出一个(匿名)函数: 该函数返回一个具有两个属性的对象,我最感兴趣的属性是“概率”。我使用“npm I——保存卡方检验”安装了它我在angular 4的一个组件中工作。我能够将导出函数与我的组件中的这个导入语句一起使用。ts文件