BOOST_EXCEPTION_DISABLE

记一个boost问题:

x.obj : error LNK2019: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &)" (?throw_exception@boost@@YAXABVexception@std@@@Z) referenced in function "void __cdecl boost::asio::detail::do_throw_error(class boost::system::error_code const &,char const *)" (?do_throw_error@detail@asio@boost@@YAXABVerror_code@system@3@PBD@Z)

链接

初步查询资料得知是因定义了BOOST_EXCEPTION_DISABLE引起

在此宏被定义后需要用户自定义如下函数 void throw_exception( std::exception const & e ){}

或者在编译选项中使用/GX 或是 /EHsc,这样告诉编译器ENABLE EXCEPTION HANDLE,也可以。

Point Cloud Resampling Using Centroidal Voronoi Tessellation Methods

Publication

figure

My first paper as second author (the first is my mentor) during my master's period. Computer-Aided Design (Proc. SPM), 102:12-21, 2018

Point Cloud Resampling Using Centroidal Voronoi Tessellation Methods

Zhonggui Chen, Tieyi Zhang, Juan Cao*, Yongjie Jessica Zhang, Cheng Wang

Computer-Aided Design (Proc. SPM) , 102:12-21, 2018

LearnOpenGL

  1. 311-Instancing(sphere),在使用实例的时候,第二个model占用4个location,所以第三个insColor要指定location=5

    layout (location = 0) in vec3 position;
    layout (location = 1) in mat4 model;
    layout (location = 5) in vec4 insColor;
    

  2. Indicies 指的是单个实例的模型从哪个offset开始画,而不是这个实例的第offset个开始画
    void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indicies, GLsizei primcount);
    

记录一些出现的情况

  1. 无法定位程序输入点 记一个小问题:在运行Qt的时候,提示“无法定位程序输入点于动态链接库QtOpenGL5.dll” 排查了lib和x64/x86都没什么问题,最后在CSDN上有个人的回答提醒了自己………… “把qt环境变量尽量放到前面,避免程序误认其他环境变量中包含的qt库” Qt/bin目录环境变量提前就好了……

  2. 生成静态库可以使用,但是换成动态库就产生未定义的符号错误,使用nm命令可以查看到.a文件含有未定义的符号,但是.dylib就没有相应符号。 在class的函数声明前加入GEEX_EXPORT,该问题解决
    #define GEEX_EXPORT __attribute__((visibility("visibility_type")))
    
    如果设置了__attribute__((visibility ("default")))的函数, 其public属性仍能对外可见, 而不是hidden。可见编译指令-fvisibility是对所有属性符号进行处理, 而__attribute__((visibility ("default")))是对特定函数可见性进行设置, 避免冲突