VS開發環境下生成和呼叫dll出現的問題和解決方法-1
dll生成和呼叫方法網上很多,省略。
1 build之後只生成了dll檔案,沒有lib檔案。
原因和方法:沒有對任何的類或者函式定義DLL interface,需要對類或者函式定義DLL interface,定義方法如下:
對於類:
class _declspec(dllexport) classname{}
對於函式:
returntype _declspec(dllexport) functionname {}
類被定義了<span style="color: rgb(42, 42, 42); font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 13px;">DLL interface的情況下,其類的成員函式不能再被定義為<span style="color: rgb(42, 42, 42); font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 13px;">DLL interface,否則會出現以下錯誤:</span></span>
<span style="color: rgb(42, 42, 42); font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"><span style="color: rgb(42, 42, 42); font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 13px;">C2487<span style="white-space:pre"> </span>'functionname': member of dll interface class may not be declared with dll interface</span></span>
參考連結:
http://www.cnblogs.com/whiteyun/archive/2011/07/22/2113668.html
https://msdn.microsoft.com/en-us/library/t72ahzw1.aspx
2. dll檔案找不到
直接用
HMODULE hMod = LoadLibrary("Tracker.dll"); 這句話的話會產生以下錯誤:
Error
(active)argument of type "const char *" is incompatible with parameter of type "LPCWSTR"
我用了 HMODULE
hMod = LoadLibrary((LPCWSTR
之後用了
HMODULE hMod = LoadLibrary(TEXT("Tracker.dll")); build通過了,並且也能找到dll檔案。
有一點還不能理解的是dll的搜尋方法,因為Tracker.dll放在project下邊的x64/Debug資料夾和程式碼的資料夾都能找到,放在其他位置則找不到!
相關推薦
VS開發環境下生成和呼叫dll出現的問題和解決方法-1
dll生成和呼叫方法網上很多,省略。 1 build之後只生成了dll檔案,沒有lib檔案。 原因和方法:沒有對任何的類或者函式定義DLL interface,需要對類或者函式定義DLL interface,定義方法如下: 對於類: class _declspec(
64位開發環境下編譯32位dll檔案
最近在做PH專案的時候,遇到了一個小問題。我們做的系統,算是在人家基礎上的一個二次開發:我們用到他們裝置,同時需要他們給我們提供介面。我們拿到介面,在32位系統上編譯不會出問題,而在我
VS開發環境下,外網聯調!
在.NET開發環境下,外網聯調 背景: 大多數情況下,我們在使用VS做開發時,除錯時,都是通過http://localhost:port的方式來除錯。在區域網內,都沒有辦法聯調。現在有沒有辦法,不僅可以讓區域網內的計算機聯調,還可以讓外網的朋友聯合 測試呢,答
開發環境下未找到 BASE64Encoder及BASE64Decoder的解決辦法
Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder類這個類是sun公司的
windows環境下搭建Java開發環境(一):jdk安裝和配置
變量 win jns jdk安裝 分享 tool 直接 www. 技術 一、資源下載 官網:http://www.oracle.com/technetwork/java/javase/downloads/index.html 本人安裝的是jdk1.8,百度雲資源:鏈
python開發環境下pip和pip3的區別
在很多教程裡都有遇到的pip和pip3,簡單來說pip和pip3是一樣的,只是為了區別python2和python3之間的呼叫,避免衝突而進行的設定。如果你的電腦只安裝了python3,那麼你使用pip和pip3效果都是一樣的,如果你的電腦只安裝了python,那麼你無法使用pip3。 同時
Android正式和開發環境下切換操作,BuildConfig幫你一步到位
在Android開發中,正式和測試環境的切換,一般情況下我們都會去設定一個tag,通過此tag來改變開發環境。 以前的寫法一般都是: public class BaseApplication extends Application { public boolean
VS2013 c++ 生成和呼叫DLL動態連結庫
在專案方案目錄裡,Debug資料夾中可以找到DLLGenerator.lib 和 DLLGenerator.dll, 把這兩個檔案和工程的標頭檔案(dllgenerator.h)移動到一個空資料夾(E:\dlltest\DLL)中,以後你的專案用到此dll就包含這個目錄,至此動態庫建立完畢。
關於如何在linux環境下生成a庫和so庫(改,附圖)
一般linux環境下的連結庫分為a庫和so庫,分別表示靜態連結庫和動態連結庫,其作用是把C程式編譯好做成一種可執行連結檔案,c主程式檔案呼叫這些程式的函式介面是可以使用a庫或so庫,在主程式中只需要i
spark最新原始碼下載並匯入到開發環境下助推高質量程式碼(Scala IDEA for Eclipse和IntelliJ IDEA皆適用)(以spark2.2.0原始碼包為例)(圖文詳解)
不多說,直接上乾貨! 前言 其實啊,無論你是初學者還是具備了有一定spark程式設計經驗,都需要對spark原始碼足夠重視起來。 本人,肺腑之己見,想要成為大資料的大牛和頂尖專家,多結合原始碼和操練程式設計。 好一段時間之前,寫過這篇部落格
Vue開發環境下呼叫介面跨域問題
需在工程目錄config/index.js內對proxyTable項進行如下配置: proxyTable: { '/api': { target: 'http://xxxxxx.com', changeOrigin: true,
Vue-cli簡單的使用axios和開發環境下跨域
官方說法:Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中 這裡是英文文件和在kancloud上發現的中文文件 在vue專案下進行安裝(這裡用的是vue-cli建立的專案簡單的使用示例) $ npm i a
Eclipse開發環境下搭建Maven
-1 mage cal 配置文件 pub 添加 apache local 打開 (一)開發環境 Eclipse Mars2(4.5.2) + Maven 3.5.0 (二)配置步驟 1.首先,需要將Maven環境配置好,maven下載地址:http://maven
在VS開發環境中的一些Hits
its 原因 source 註冊 http tag data evel 及其 默認前提 :Windows7系統 1. 以快速打開管理權限下的VS 通常當默認帳戶權限不夠的時候,同時需要以管理權限運行VS時,每次都要右鍵點擊選擇管理員權限啟動。及其麻煩,可以一次性解決
Hbuilder開發app時生成ios要的mobileprovision和p12文件步驟.
。。 hbuilder p12 mob req mobile 右擊 文件下載 鑰匙 1.在MAC電腦.鑰匙串串訪問->證書助理->從證書頒發機構請求證書,創建一個證書為certSigningRequest文件 2.在Apple Developer中的Certi
vue跨域的問題,在開發環境下
直接 index 文件 訪問 顯示 vue pat user rewrite 找到config文件夾下的index.js proxyTable: { ‘/api‘: { target: ‘http://訪問網址/‘, //設置調
nginx反向代理、負載均衡配置與linux環境下的安裝及通過ip和域名訪問nginx
本文主題: 一、什麼是nginx 二、nginx的應用場景 三、linux環境下nigix的安裝 四、nginx配置虛擬機器(ip、域名) 五、nginx實現反向代理 六、nginx實現負載均衡 一、什麼是nginx 1、http伺服器(通過nginx配置檔案配置
PyCharm環境下io的open()報錯和路勁的問題
PS:我也是初學者,上班空閒時間學習學習Python。今天學到io的時候,遇到了兩個用PyCharm環境編寫程式碼的小白錯誤,如下: 兩個問題都是如下程式碼: 1. 第一個問題:當寫好程式碼之後,點選執行報如下錯誤:name 'open' is not defined 報了錯肯定就要研究唄,測試唄,所以我
iOS Debug環境下生成dSYM檔案配置
Build Setting Debug Information Format -> DWARF with dSYM File Generate Debug Symbols -> YES 在 Products 資料夾內 Show In Finder
相同資料來源情況下,使用Kafka實時消費資料 vs 離線環境下全部落表後處理資料,結果存在差異
原因分析: 當某個consumer宕機時,消費位點(例如2s提交一次)尚未提交到zookeeper,此時Kafka叢集自動rebalance後另一consumer來接替該宕機consumer繼續消費,因為先前宕機consumer最近的消費位點尚未提交,導致資料重複消費 突發流量、跨機房(網路請求延