簡體   English   中英

舊的C代碼到ATL / COM DLL

[英]Old c code to ATL/COM dll

我有一個舊的c dll,我想轉換為COM服務器。

它只暴露一個功能。

這就是我所做的:我在VS 2010中創建了一個ATL項目,添加了一個帶有包裝函數的簡單ATL對象。 我添加了c源代碼和頭文件在包裝函數中我調用了c函數,我添加了完整的函數原型,如http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp中所述。 html#faq-32.5

出現以下錯誤:

函數中引用的未解析的外部符號

我嘗試了一切。

任何想法?

包含c-source時需要使用extern“C”:

extern "C" {
    #include "header.h"
}

您可以嘗試將c dll編譯為常規win32 dll,然后通過包裝器從COM DLL調用它。 您需要2個dll,但如果原始DLL編譯正常,您應該能夠從COM使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM