您的位置:首页 > 理论基础 > 计算机网络

java c++ mysql 网络问题一堆

2014-05-09 11:27 253 查看

rest服务项目,打包太大,需要删除1些lib,节约空间,删了几个lib就出了这个问题

org.objectweb.asm.ClassVisitor.visit 找不到方法

在使用Spring的AOP编程时,会用到这几个lib:

asm-2.2.2.jar
...
(省略部分可看下链接)
http://wangronaldo.iteye.com/blog/1443418

Log4j 配置,详细

1:http://www.iteye.com/topic/378077

2:http://wenku.baidu.com/link?url=_UaGyPU-GWxuqXMfBEn4MPNPH4l12Su6LOmpphVUfr2X1iqpWnfX9xDerobGvMmnILUYP08E9vJnyPPzImcuKtavtlAELHslTetu-hS-jMe

今天出现编码出现了No suitable driver found for jdbc,又是找遍了网上的资料,基本上都说是三个问题:

一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")

二是:驱动字符串出错(com.mysql.jdbc.Driver)

三是Classpath中没有加入合适的mysql_jdbc驱动

经过我的仔细检查,这三种错误我都没有犯,为什么呢?

尝试着将mysql-connector-java-3.1.14-bin.jar的jar包加入C:\Program Files\Java\jre1.6.0_02\lib\ext文件夹下,问题解决了!!

原来是不仅仅要求将驱动加入classpath中,而且需要将该jar包加入到java运行环境的外部jar包中,唉,下次这种低级错误还是少犯为妙。

(1) vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB。

在 project-->settings-->Link-->Object/Library modules 中加入库WSOCK32.LIB即可。

在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。

  1.WINSOCK.H: 这是WINSOCK API的头文件,需要包含在项目中。

  2.WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一定要把它作为项目的非缺省的连接库包含到项目文件中去。

  3.WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。

--------------------Configuration: Example1 - Win32 Debug--------------------

Linking...

error LNK2001: unresolved external symbol _connect@12

error LNK2001: unresolved external symbol _htons@4

error LNK2001: unresolved external symbol _inet_addr@4

error LNK2001: unresolved external symbol _socket@12

error LNK2001: unresolved external symbol _closesocket@4

error LNK2001: unresolved external symbol _send@16

error LNK2001: unresolved external symbol _recv@16

error LNK2001: unresolved external symbol _WSAAsyncSelect@16

error LNK2001: unresolved external symbol _accept@12

error LNK2001: unresolved external symbol _listen@8

error LNK2001: unresolved external symbol _bind@12

(2) vc数据库SQL编程中遇到一个问题,原来是少了odbc32.lib。

在 project-->settings-->Link-->Object/Library modules 中加入库odbc32.lib 即可。

mfc程序调用了odbc api,连接时出错:

error LNK2001: unresolved external symbol _SQLConnect@28

error LNK2001: unresolved external symbol _SQLFetch@4

error LNK2001: unresolved external symbol _SQLBindCol@24

error LNK2001: unresolved external symbol _SQLFreeHandle@8

error LNK2001: unresolved external symbol _SQLExecDirect@12

error LNK2001: unresolved external symbol _SQLAllocHandle@12

error LNK2001: unresolved external symbol _SQLSetEnvAttr@16

error LNK2001: unresolved external symbol _SQLDisconnect@4

(3) vc OpenCV图像处理编程中遇到一个问题,原来是少了cv.lib cvaux.lib cxcore.lib highgui.lib。

在 project-->settings-->Link-->Object/Library modules 中加入库cv.lib cvaux.lib cxcore.lib highgui.lib 即可。

error LNK2001: unresolved external symbol _cvReleaseImage

error LNK2001: unresolved external symbol _cvWaitKey

error LNK2001: unresolved external symbol _cvDrawContours

error LNK2001: unresolved external symbol _cvReleaseMemStorage

error LNK2001: unresolved external symbol _cvDestroyWindow

error LNK2001: unresolved external symbol _cvFindContours

error LNK2001: unresolved external symbol _cvCvtColor

error LNK2001: unresolved external symbol _cvCreateImage

error LNK2001: unresolved external symbol _cvGetSize

error LNK2001: unresolved external symbol _cvShowImage

error LNK2001: unresolved external symbol _cvLoadImage

error LNK2001: unresolved external symbol _cvNamedWindow

error LNK2001: unresolved external symbol _cvCreateMemStorage

(4) vc OpenGL三维编程中遇到一个问题,原来是少了OpenGL32.lib GLu32.lib GLaux.lib。

在 project-->settings-->Link-->Object/Library modules 中加入库OpenGL32.lib GLu32.lib GLaux.lib 即可。

error LNK2001: unresolved external symbol _gluPerspective@32

error LNK2001: unresolved external symbol _gluLookAt@72

error LNK2001: unresolved external symbol __imp__glLoadIdentity@0

error LNK2001: unresolved external symbol __imp__glMatrixMode@4

error LNK2001: unresolved external symbol __imp__glViewport@16

error LNK2001: unresolved external symbol __imp__glHint@8

error LNK2001: unresolved external symbol __imp__glDepthFunc@4

error LNK2001: unresolved external symbol __imp__glEnable@4

error LNK2001: unresolved external symbol __imp__glClearDepth@8

error LNK2001: unresolved external symbol __imp__glClearColor@16

error LNK2001: unresolved external symbol __imp__glShadeModel@4

error LNK2001: unresolved external symbol __imp__glEnd@0

error LNK2001: unresolved external symbol __imp__glVertex3f@12

error LNK2001: unresolved external symbol __imp__glBegin@4

error LNK2001: unresolved external symbol __imp__glTranslatef@12

error LNK2001: unresolved external symbol __imp__glClear@4

error LNK2001: unresolved external symbol __imp__wglDeleteContext@4

error LNK2001: unresolved external symbol __imp__wglMakeCurrent@8

error LNK2001: unresolved external symbol __imp__wglCreateContext@4

(5) vc VFW视频采集编程中遇到一个问题,原来是少了VFW32.Lib

在 project-->settings-->Link-->Object/Library modules 中加入库VFW32.Lib 即可。

error LNK2001: unresolved external symbol _capCreateCaptureWindowA@32

在创建项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有:

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

错误可能引起的原因:

1. Windows子系统设置错误, 提示:

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Windows项目要使用Windows子系统, 而不是Console, 可以这样设置:

[Project] --> [Settings] --> 选择"Link"属性页,

在Project Options中将/subsystem:console改成/subsystem:windows

2. Console子系统设置错误, 提示:

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

控制台项目要使用Console子系统, 而不是Windows, 设置:

[Project] --> [Settings] --> 选择"Link"属性页,

在Project Options中将/subsystem:windows改成/subsystem:console

3. 程序入口设置错误, 提示:

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口:

[Project] --> [Settings] --> 选择"C/C++"属性页,

在Category中选择Output,

再在Entry-point symbol中填入wWinMainCRTStartup, 即可

4. 线程运行时库设置错误, 提示:

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

这是因为MFC要使用多线程时库, 需要更改设置:

[Project] --> [Settings] --> 选择"C/C++"属性页,

在Category中选择Code Generation,

再在Use run-time library中选择Debug Multithreaded或者multithreaded

其中,

Single-Threaded 单线程静态链接库(release版本)

Multithreaded 多线程静态链接库(release版本)

multithreaded DLL 多线程动态链接库(release版本)

Debug Single-Threaded 单线程静态链接库(debug版本)

Debug Multithreaded 多线程静态链接库(debug版本)

Debug Multithreaded DLL 多线程动态链接库(debug版本)

单线程: 不需要多线程调用时, 多用在DOS环境下

多线程: 可以并发运行

静态库: 直接将库与程序Link, 可以脱离MFC库运行

动态库: 需要相应的DLL动态库, 程序才能运行

release版本: 正式发布时使用

debug版本: 调试阶段使用

第二类:程序没有添加必要的库。

当copy网上的源程序,在本机编译的时候,由于新建的工程没有把连接用的库,在连接的时候添加进去,所以一些函数、变量找不到定义的库文件,从而出错。

texture.obj : error LNK2001: unresolved external symbol __imp__glEnable@4

texture.obj : error LNK2001: unresolved external symbol __imp__glTexEnvf@12

texture.obj : error LNK2001: unresolved external symbol __imp__glTexParameterf@12

texture.obj : error LNK2001: unresolved external symbol __imp__glTexImage2D@36

texture.obj : error LNK2001: unresolved external symbol __imp__glPixelStorei@8

texture.obj : error LNK2001: unresolved external symbol _auxDIBImageLoadA@4

解决方法:

1. 先弄清楚到底缺了哪些库,再在project=》setting=》link里面的moldul/lib 添加这些库的文件。

2. 可以用以下形式在源程序里面添加下面代码:

#pragma comment(lib, "openGL32.lib");

#pragma comment(lib, "glu32.lib");

#pragma comment(lib, "glaux.lib");

vc编译报错 unresolved external symbol __imp__PlaySoundA@12 解决办法

添加Winmm.lib和 头文件中包含 Mmsystem.h

选择"project"->"setting"->"link"->"Object/library modules"然后添加"Winmm.lib"就可以了。

<------------------------------------------------------------------------------------->

warning LNK4098: defaultlib
"LIBCMT" conflicts with use of other libs;
use /NODEFAULTLIB:library

在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。
原因找到了。那么解决方法,总之就是将两个项目的运行时库统一。

简单的方式就是将项目的动态库修改为使用Multithreaded DLL 版本的C运行时库即可。
某些情况下你的项目可能不能改变当前的运行时库,VC中的C运行时库一共有6种,想了解更多信息可以参阅我先前翻译的文章。

Single-threaded (libc.lib) libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
Multithreaded (libcmt.lib) libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
Multithreaded using DLL (msvcrt.lib) libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
Debug Single-threaded (libcd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib
Debug Multithreaded (libcmtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib
Debug Multithreaded using DLL (msvcrtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib

例如编译Release版本的单线程的工程,在linker的命令行加入如下的参数:
/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib
/NODEFAULTLIB:msvcrtd.lib

由于这个项目是添加htmlhelp.lib后而得到的warning,所以应该做如下更改,选择Project
-> Setting,出现Project Setting对话框,单击Link标签,在Project Options中添加如下即可。
/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib  /NODEFAULTLIB:libcmtd.lib

jsp 拦截器写法,最大的问题是把注入搞没了,我勒个去,暂时无解
<interceptors>

<interceptor name ="auth" class ="dong.shopping.util.MyInterceptor" />

<interceptor name="time" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>

<interceptor-stack name="adminstack">

<interceptor-ref name="auth"></interceptor-ref>

<interceptor-ref name="defaultStack"></interceptor-ref>

</interceptor-stack>

</interceptors>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: