小编yvh*_*nta的帖子

include_directories 用于导入库

我正在用 c++ 编写项目,并且在 cmake 中导入库时遇到问题。正在导入的第三方库不会传播包含目录。

根目录/CMakeLists.txt

# Top level CMakeLists.txt

cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
project(camera_calib)

add_subdirectory(${PROJECT_SOURCE_DIR}/nana)

file(GLOB SRC "${PROJECT_SOURCE_DIR}/src/*.cpp")

add_executable(camera_calib_exe ${SRC})

target_include_directories(camera_calib_exe PRIVATE ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(camera_calib_exe nana_lib)
Run Code Online (Sandbox Code Playgroud)

/nana/CMakeLists.txt

# nana c++ gui CMakeLists.txt

cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
project(nana VERSION 1.5.6 LANGUAGES CXX)

add_library(nana_lib STATIC IMPORTED)
set_property(TARGET nana_lib PROPERTY IMPORTED_IMPLIB_DEBUG ${PROJECT_SOURCE_DIR}/lib/nana_v141_Debug_x64.lib)
set_property(TARGET nana_lib PROPERTY IMPORTED_IMPLIB_RELEASE ${PROJECT_SOURCE_DIR}/lib/nana_v141_Release_x64.lib)
set_property(TARGET nana_lib PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/include)
#set_property(TARGET nana_lib PROPERTY INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/include)
Run Code Online (Sandbox Code Playgroud)

代码示例/src/main.cpp

#include <nana/gui.hpp>
#include <nana/gui/widgets/label.hpp>
#include <nana/gui/widgets/button.hpp>

int main(int argc, char** argv)
{
    nana::form fm(nana::rectangle(0, 0, 1900, 1000)); …
Run Code Online (Sandbox Code Playgroud)

c++ cmake nana

5
推荐指数
1
解决办法
3139
查看次数

如何为 gcc 内联 asm 获取 64 位整数的较低和较高 32 位?(ARMV5平台)

我在armv5te平台上有一个项目,我要重写一些函数并使用汇编代码来使用增强型DSP指令。我为累加器使用了很多 int64_t 类型,但我不知道如何将它传递给 arm 指令 SMULL ( http://www.keil.com/support/man/docs/armasm/armasm_dom1361289902800.htm )。

如何将 64 个变量的较低或较高 32 位传递给 32 位寄存器?(我知道,我可以使用中间变量 int32_t,但它看起来不太好)。

我知道,那个编译器会为我做这件事,但我只是写了一个小函数作为例子。

int64_t testFunc(int64_t acc, int32_t x, int32_t y)
{
   int64_t tmp_acc;

   asm("SMULL %0, %1, %2, %3"
      : "=r"(tmp_acc), "=r"(tmp_acc) // no idea how to pass tmp_acc;
      : "r"(x), "r"(y)
      );

return tmp_acc + acc;
}
Run Code Online (Sandbox Code Playgroud)

c assembly gcc arm inline-assembly

2
推荐指数
1
解决办法
1277
查看次数

标签 统计

arm ×1

assembly ×1

c ×1

c++ ×1

cmake ×1

gcc ×1

inline-assembly ×1

nana ×1