當前位置:首頁 » 編程軟體 » vs常規項目編譯dll

vs常規項目編譯dll

發布時間: 2022-09-09 08:37:46

A. 如何在VS2013配置CUDA,並編譯生成DLL

項目屬性-配置屬性-常規-MFC的使用-使用標准Windows庫(不用MFC)
然後,C/C++-代碼生成-運行庫-多線程/MT或者多線程調試/MTd
帶d的是鏈接調試版本,DEBUG項目選/MTd,Release項目選/MT
如果使用MFC,在MFC的使用中設置靜態、動態鏈接,代碼生成中必須使用<從上級繼承>

B. 我在VS2017裡面用C#在.net framework上編寫了一個dll,我想編譯,怎麼解決

您的編譯已經完成了。在debug或者release文件夾下可以看到.dll文件(也可能會有xml文件),但是這是一個類庫,本身是不能直接運行的,所以在VS中使用「運行」(F5)會彈出這樣的提示。如果您想要調試這個類庫,請在解決方案下添加一個新的項目,引用這個類庫項目,然後進行測試。

C. 用VS 如何由源代碼生成DLL文件

1:創建DLL工程

文件->新建->項目->visual c++->win32->win32控制台應用程序(win32項目也可以)

填寫項目名稱MyDLL->確定->下一步->DLL(附加選項 對空項目打鉤)->完成。

到這里DLL工程就創建完畢了,下面新建兩個文件MyDLL.cpp和MyDLL.h。

MyDLL.cpp內容如下:

testMyDLL.h內容如下

#pragmaonce


extern"C"_declspec(dllexport)intAdd(int&a,int&b);

現在可以編譯通過了,但是程序運行就報錯,還需要將MyDLL.dll復制到當前項目生成的可執行文件所在的目錄。(這一點非常重要)

這里需要注意testMyDLL.cpp文件中調用lib的這句話:

#pragmacomment(lib,"..\debug\MyDLL.lib")

這里需要指明lib所在的文件夾,當然我們也可以在生成dll的MyDLL工程中,指定lib和dll文件的輸出路徑,直接到testMyDLL工程下。

注意:如果只有dll文件,那麼必須在程序裡面調用LoadLibrary()函數才能使用,如果有lib文件,那麼有兩種方式可以馬上進行調用

D. 如何利用VS2005把一個公共的類編譯成DLL

不能吧,只能新建一個類庫項目,把你的公共類寫在這個項目中編譯後就會生成dll,然後別的項目可以引用這個類庫

E. vs2010為什麼設置了靜態編譯還是需要dll文件才能運行exe

靜態編譯:就是在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴動態鏈接庫。

編譯方式:

第1種:

設置:

1、項目->配置屬性->常規->MFC的使用:在靜態庫中使用MFC

2、項目 -> 配置屬性->C/C++->代碼生成->運行庫 :選擇 多線程調試(/MTd)。

編譯時,選擇的是debug,win32

然後執行編譯生成方案,在該工程目錄下的debug文件中,找到該.exe文件,即可在其他電腦運行。

第2種:

一般可以配置一下兩項:

1.項目 -> 配置屬性->常規->MFC的使用 :在靜態庫中使用MFC。

2.項目 -> 配置屬性->C/C++->代碼生成->運行庫 :選擇 多線程調試(/MT)。

編譯時,選擇的是release,win32(這個選擇項在工具欄的debug選框中,一般我們使用debug方式)

F. vs2010怎麼編譯生成dll文件

可以在開始建立新項目的時候選擇DLL類型進行編寫
一般情況下有四種可選的類型:windows應用程序,控制台應用程序,DLL,靜態庫。
當完成DLL的編寫之後,點擊菜單欄【生成】->【生成解決方案】然後進入該解決方案源文件夾下找到bin->Debug會發現DLL文件已經生成。

G. vs2013怎麼把多個dll文件打包成一個dll,使用的時候不再引用其他dll

項目--屬性--配置屬性--常規
MFC的使用,修改為:在靜態庫中使用MFC
就會把用到的DLL編譯器來。

H. vs2013 c++ 怎麼生成dll

1.建立一個C++的Win32DLL,這里要注意選擇"Export symbols"導出符號。點擊完成。如下圖所示:

I. vs2010編譯c的dll,在c++中調用問題

樓上說的很對,我在用java NDK 開發也是這樣的問題,但是一樣是用extern "C" 搞定,

貼段代碼給你看看

#include<jni.h>
#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#include<android/log.h>
extern"C"
{

voidJava_com_example_jniopengl_MainActivity_go(JNIEnv*env,jobjectthiz);


}

void*run_by_thread(void*num)
{
int*nums=(int*)num;
intstatus=0;
for(inti=0;i<3;i++)
{
::sleep(1);
::__android_log_print(1,"go++","thread%d:_%d",*nums,i);
}

if(*nums==1)
{status=100;
return(void*)&status;
}
elseif(*nums==2)
{
status=200;

::pthread_exit((void*)&status);
}}
voidstart_threads()
{
pthread_tth1,th2;
intthreadNum1=1;
intthreadNum2=2;
intret=-1;
intre=::pthread_create(&th1,NULL,run_by_thread,(void*)&threadNum1);
re=::pthread_create(&th2,NULL,run_by_thread,(void*)&threadNum2);
void*status;
re=::pthread_join(th1,&status);
int*code=(int*)status;

__android_log_print(1,"code","code:%d ",*code);

re=::pthread_join(th2,&status);
int*code2=(int*)status;
__android_log_print(1,"code","code:%d ",*code2);

}

voidJava_com_example_jniopengl_MainActivity_go(JNIEnv*env,jobjectthiz)
{


start_threads();


}

J. 如何在VS2008中將類庫編譯成DLL文件

生成就可以了!

熱點內容
sqlserver圖標 發布:2025-03-26 15:29:09 瀏覽:454
音頻去噪演算法 發布:2025-03-26 15:17:58 瀏覽:554
透明pp文件夾 發布:2025-03-26 15:15:52 瀏覽:143
perl的編譯器 發布:2025-03-26 15:12:25 瀏覽:358
linuxug 發布:2025-03-26 15:12:21 瀏覽:508
濟寧編程 發布:2025-03-26 15:11:43 瀏覽:796
手機如何緩存電影 發布:2025-03-26 15:10:03 瀏覽:611
phppost類 發布:2025-03-26 15:10:01 瀏覽:202
php基礎語法 發布:2025-03-26 15:05:50 瀏覽:549
新3系取消了哪些配置 發布:2025-03-26 14:56:01 瀏覽:288