#pragma comment(comment-type[,”commentstring”])
Comment-type:一个预定义的标识符,指定注释的类型。应该是compiler,exestr,lib,linker之一。
Commentstring:是一个为comment-type提供附加信息的字符串
-compiler:放置编译器的版本或者名字到一个对象文件,该选项是被linker忽略的。
-exstr:被取消了
-lib:放置一个库搜索记录到对象文件中。
-linker:指定一个连接选项,这样就不需要在命令行输入或在开发环境中设置。
我们经常用到的是#pragmacomment(lib,”*.lib”).例如:
#pragma comment(lib,"opencv_core249d.lib")就表示链接这个库
opencv_core249d.lib。这样写和在工程中通过设置setting是一样的,方便的是若别人使用你的代码就不用在去设置工程setting了。
但是如果是自己写的库,最好还是使用附加依赖项去添加,具体原理还没有想明白,望高手指点。
扩展:
#pragma预处理
#pragma是比较复杂的预处理指令,作用是设定编译器的状态或者是指示编译器完成一些特定的动作。
常见的是#pragma once。只要在头文件的最开始使用这条指令就能够保证头文件被编译一次。但是很少使用,因为存在兼容性的问题。
每一个编译器对#pragma的实现不同,在一个编译器中有效在另一个可能无效,这些要从编译器的文档中查看。