我正在学习构建C++代码的CMake,并且正在努力学习以下概念.在我的根目录目录中,我有一些cpp文件和一个CMakeLists.txt,它可以在gen-cpp目录中成功生成一些thrift代码.我的根级别CMakeLists.txt包含:
include_directories( "路径到根"/ GEN-CPP).(以及相关的节俭自动生成和包括.
一切编译好,但我得到运行时动态库链接错误的未定义符号引用gen-cpp目录中定义的类.当我将目录中的文件移动到根级别时,它运行正常.我错过了什么?(我还调整了根级别cpp directorie s中的#include指向"path-to-root"/ gen-cpp).
这是否是使用include_directory的误解,我应该使用add_subdirectory.如果是后者,gen-cpp中的代码是否需要自己的CMakeLists.txt?当所述目录的内容为根级别时,为什么不需要此附加文件?
在编组期间,JAXB需要一个公共的无参数构造函数?
Marshaller msh = ctx.createMarshaller();
msh.marshal(object, System.out);
Run Code Online (Sandbox Code Playgroud)
我传递的是一个对象,而不是一个类.为什么JAXB需要构造函数?构建什么?