pcl/opencv 算法生成dll並調用

新建 無導出符號的 dll空項目
新建cpp文件 複製算法代碼進去

在函數前面添加:
__declspec(dllexport) int faxian()

建立源文件source.def
添加-新建-visual c+±代碼 -模塊定義文件
模塊文件裏面寫
LIBRARY “faxian” (cpp的名字)
EXPORT
Add @1
faxian@2(不同兩個函數)

之前使用pcl\opencv都是使用添加已經保存好的屬性列表來添加屬性的,在這裏是不行的,因爲你們可以雙擊屬性表看到配置是不可用的,也就是選不了debug和release
這裏要項目-xx屬性-重新配置一遍opencv\pcl的包含目錄、庫目錄、預處理器等等

右鍵解決方案:
若報錯C4996:’fopen’什麼的
在項目屬性-c/c++ 預處理器 添加_CRT_SECURE_NO_WARNINGS
右鍵生產dll 和lib 注意最好dll和函數名名字一樣

靜態調用dll
新建解決方案-新建控制檯應用程序不要預編譯頭

測試代碼:
#include “stdafx.h”
#include <stdio.h>
#include

#pragma comment(lib,“dll.lib”)
int faxian();
int main()
{
faxian();
return 0;
}

將dll和lib拷貝到次文件夾的debug文件夾下,
項目屬性-配置屬性-vc+±庫目錄-選擇有dll和lib 的debug文件夾
鏈接器-輸入-附加依賴項-編輯加入lib全名

參考vs2015+opencv生成DLL並分別靜態和動態調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章