A. VC在没有.lib文件下怎么调用DLL
知道DLL文斗团件内的函数名称就瞎销搜可以磨历调用了,例如Declare Sub LED_Startup Lib "LEDSender.dll" ()
Declare Sub LED_Cleanup Lib "LEDSender.dll" ()
Declare Function LED_Open Lib "LEDSender.dll" (param As TDeviceParam, ByVal Notify As Long, ByVal Window As Long, ByVal Message As Long) As Long
Declare Sub LED_Close Lib "LEDSender.dll" (ByVal dev As Long)
B. 为什么我的动态链接库在VC6.0下编译完了没有在Debug中找到lib文件,但是dll文件都在
那要看你选择的是动态编译还是静态编译了,还有就是注意输出的位置...
C. c语言编译时缺少tv.lib怎么办
C语言编程.lib文件是库文件。可以理解成是把一包.c和.h文件打包做成的一个库。
缺少库文件有两个解决办法:1.找到.lib文件放入对应位置,例如keil5工程中的user文件夹。2.去掉引用,即注释掉库内头文件的引用,不使用此库,此时如果有函数等显示为定义,说明是库中的函数,替换或重新定义该函数。
D. 为什么devc++文件里没有lib32
我在windows xp下使用Dev-c++构建一个socket应用,我使用
#include <winsock.h> 或 #include <winsock2.h> 都会出现下面的大片错误:
[Linker error] undefined reference to `WSACleanup@0'
[Linker error] undefined reference to `WSAStartup@8'
...
我在Project -> Project Options -> parameter -> linker 输入框内输入:
ws2_32.lib
结果出现了下面的错误信息:
[Build Error] [socketObject.exe] Error 1
我查了Compile Log得到的关键log信息是:
g++.exe: ws2_32.lib: No such file or directory
原来是找不到 ws2_32.lib,我检查了一下C:\Dev-Cpp\lib\下的库文件,发现根本就
没有ws2_32.lib这个文件。
于是上网搜了一下,有网友说对于Dev-c++应该是libws2_32.a
天,
原来是这个文件。
我很高兴的将这个lib文件加到linker中,兴奋地去编译,结果仍然是:
g++.exe: libws2_32.a: No such file or directory
草,真是气人。
我接着点击 linker 区域下方的一个按钮:Add Library or Object
用这个方法将libws2_32.a添加到linker: C:/Dev-Cpp/lib/libws2_32.a
这次编译竟然顺利通过了。
我将这次的遇到的问题及其解决过程记录下来,希望对其他的朋友有帮助。
也在此谢谢其他团培乱朋友对我的指点。
在网上搜到的相关信息我也罗列到下面:
在工程里已经#include <winsock2.h>了结果还是报错,郁闷死了,我用的是Dev-C++,起先还以为是IDE的问题,结果换成VC6.0还是同样的错误。最后在网上终于找到问题的原因,很快搞定了。顺便做一下笔记,以防以后再出现这种问题。
VC6.0下的错误信息:
error LNK2001: unresolved external symbol __imp__socket@12
error LNK2001: unresolved external symbol __imp__WSAStartup@8
Dev-C++下的错误信息:
[Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `socket@12'
错误原因:因为没有联接socket库ws2_32.lib。
解决办法:对于VC6.0要在porject/settings的link页面中object/library moles中添ws2_32.lib就可以了;塌档对于Dev-C++同样在工程/工程属性的参数页面中连接器那一栏中添加库,这时必须找到库文件的目录,对于Dev-C++的对应库文件是libws2_32.a,在软件安装下lib文件夹中可以找到相应的库文件。
总结:所有中帆运用到WinSock2的程序在编译连接时都要用的该库
原文链接:https://www.cnblogs.com/vilyLei/articles/1812634.html
E. 用了英文版的VC++6.0怎么编译后运行时提示找不到文件
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的
“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的
选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
本人深受其害,重装多次不管用,上面中文部分为高手借鉴,终于弄好了。还有,一定要设置好环境变量
F. lib文件是什么是不是编译自动生成我不加lib文件运行不了
lib文件是静态库,这种文件中有头文件中声明的函数的实现代码,一般用在静态连编上,编译链接时,将lib文件与其他模块编译生成的目标代码链接,从而形成能够运行的可执行文件。
#pragma comment(lib, "pcc32_vc6.lib")就是连入一个库文件,表示链接pcc32_vc6.lib这个静态库文件来生成可执行文件。
G. VC6.0怎么添加,lib文件
①LIB文件直接加入到工程文件列表中
在VC中打开FileView一页,选中工程名,单击鼠标右键,然后选中"AddFilestoProject"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件即可。
②设置工程的ProjectSettings来加载DLL的LIB文件
打开工程的ProjectSettings菜单,选中Link,然后在Object/librarymoles下则丛的文本框中输入DLL的LIB文件。
③通过程序代码的方式
加入预编译指令#pragmacomment(lib,"*.lib"),这种方法优点是可以利用条件预编译指令链接不同版本的LIB文件。因为,在Debug方式下,产生的LIB文件是Debug版本,如Regd.lib;在Release方式下,产生的LIB文件是Release版本,如Regr.lib。
当应用程序对DLL的LIB文件加载后,还需要把DLL对应的迅纯头文件(*.h)包含到其中,在这个头文件中给出了DLL中定孙昌樱义的函数原型,然后声明。