2012-05-08 42 views
0

我有一個託管的exe文件,調用一個託管的dll,都是用c編寫的,並且使用vs2010 C++編譯。找不到dll vs2010 c

當我運行程序我得到的錯誤,因爲DLL是從我的計算機中缺少程序無法啓動。 在鏈接器中的Linker-> Input-> Additional dependencies下,我添加了包含dll庫的文件夾。另外,在鏈接器 - >常規部分中,我列出了其他包含庫下的文件夾。

我無言以對......

+0

哪個DLL沒有說是失蹤了?該DLL是否真的存在?如果是這樣,在哪裏? –

+1

鏈接器設置在這裏不相關。 Windows需要能夠在啓動程序時找到DLL。確保它在.exe文件所在的build目錄中可用。除此之外很難幫助你,你不能用C編寫託管代碼。 –

+0

這個dll是我寫的一個叫做mcDll的文件。它存在於我在鏈接器 - >輸入 - >其他依賴關係目錄中指定的目錄中 – PaeneInsula

回答

1

的問題是,該dll是不是在同一目錄爲正在執行的.exe文件的位置。但是,由於我不想每次都手動複製dll,並且由於它正在被其他.exes使用,所以更好的解決方案是添加後構建事件。

另一個更重要的注意事項:爲了提出一個不好的問題,我害怕因爲另一個-1而被剔除,我花了幾個小時拿出了做這樣一個後期製作副本所需的魔法藥水/咒語。這裏是。請注意使用宏,/ Y,特別是每個路徑名的整個亂七八糟的引號。

xcopy /Y "$(SolutionDir)x64\Release\mcDll.dll" "$(SolutionDir)stream\x64\Release"