1,php连接sqlserver2008失败
这个是提示你没有安装MSSQl 2012的驱动扩展。
从Sql Server 2008开始,不再支持PHP自带的驱动程序,需要使用微软提供的驱动程序。此驱动程序抛弃了mssql系列函数,只能使用sqlsrv和pdo的方式进行连接操作。
步骤1:下载微软Sql Server官方驱动程序,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098
步骤2:安装Sql Server的驱动扩展
将下载好的exe程序打开,解压会释放出很多.dll文件,将对应的dll文件拷贝到你的php扩展包目录下的ext目录。
解压得到的dll文件中文件名的数字部分(例如52,53)代表对应不同的PHP版本,文件名中带n的为非线程安全的,文件名中的vc对应的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。
首先,需要确定你的PHP的版本,假设PHP的版本为5.3.x
其次,要确定你的PHP运行的是线程安全的还是非线程安全的(假设线程安全)。
另外,还需要确认的版本(假设Apache2.2)。
那么,你对应的文件应当是php_pdo_sqlsrv_53_ts_vc6.dll(PDO链接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv链接),将这两个文件拷贝到你的PHP的扩展包下的ext目录,然后要修改php.ini,增加这两项扩展的支持:
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
保存后重启Apache即可。
2,unresolved externals是什么意思
unresolved externals的意思是质量标准;1、基础标准:是标准化工作的基础,是制订产品标准和其他标准的依据。常用的基础标准主要有:通用科学技术语言标准; 精度与互换性标准; 结构要素标准; 实现产品系列化和保证配套关系的标准; 材料方面的标准等。2、产品标准:是指对产品质量和规格等方面所作的统一规定,它是衡量产品质量的依据。产品标准的内容一般包括:产品的类型、品种和结构形式; 产品的主要技术性能指标; 产品的包装、贮运、保管规则; 产品的操作说明,等等。3、方法标准:是指以提高工作效率和保证工作质量为目的,对生产经营活动中的主要工作程序、操作规则和方法所作的统一规定。它主要包括检查和评定产品质量的方法标准、统一的作业程序标准和各种业务工作程序标准或要求等等。扩展资料:国家标准作为对需要在全国范围内统一的技术要求,由国务院标准化行政主管部门制订的标准。1988年,我国将国际标准化组织(ISO)在1987年发布的 《质量管理和质量保证标准》等国际标准仿效采用为我国国家标准,编号为GB/T10300系列.它在编写格式、技术内容上与国际标准有较大的差别。从1993年1月1日起,我国实施等同采用ISO9000系列标准,编号为:GB/T19000-ISO9000系列,其技术内容和编写方法与ISO9000系列相同,使产品质量标准与国际同轨,以利于适应“复关”形势。我国的国家标准是采用等同于现行的ISO9000:2000标准,编号为GB/T19000-2000系列。
3,C语言unresolved external symbol ?
没有问题,我复制进VS2005里面,但要在每个文件前面加上
#include"stdafx.h"再改一下你main函数中的错误就能运行了,但没有遇到你这里提示的错误
首先,你的main函数里
scanf(str,c);//这句是什么意思?看不明白,
因此我改为下面这样,程序正确运行。
scanf("%c",&c);
VS2005必须加上include"stdafx.h"这个才能运行,其他版本不清楚。
解释下:我把你的程序分别复制到4个.cpp文件里的,只要把main函数里的scanf改一下就正确的,请问你是把程序写在同一个工程里面不同的.cpp文件中的吗?要写在cpp文件中才正确的
4,C 语言中出现unresolved externals怎么解决?
1、这个错误应该是外部引用了变量,但连接的时候却没找到变量的定义。 2、代码引用了链接器无法在库和对象文件中找到的内容(如函数、变量或标签)。 这个原因比较复杂,如果是自己代码的问题,请为每个声明(包括函数、extern变量等)提供定义,如果是库的问题,可能是未找到某个库,也可能是C/C++函数名称解析的差异等问题。扩展资料:C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。参考资料:C语言-百度百科
5,C语言出现error LNK2001错误
VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol “symbol”(不确定的外部“符号”)。如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用 的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本 的连接库。
以下是可能产生LNK2001错误的原因:
一.由于编码错误导致的LNK2001。
1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量 “VAR1”访问该变量, 将发生该错误。
2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。
3.调用函数时如果所用的参数类型同函数声明时的类型不符将会产生LNK2001。
4.试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001。
5.要注意函数和变量的可公用性,只有全局变量、函数是可公用的。静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问任何没有在该文件内声明的静 态变量时将导致编译错误或LNK2001。函数内声明的变量(局部变量) 只能在该函数的范围内使用。C++ 的全局常量只有静态连接性能。这不同于C,如果试图在 C++的多个文件内使用全局变量也会产生LNK2001错误。一种解决的方法是需要时在 头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一 种 方法是使用时给该变量赋以常数。
二.由于编译和链接的设置而造成的LNK2001
1.如果编译时使用的是/NOD(/NODEFAULTLIB)选项,程序所需要的运行库和MFC库在连接时由编译器写入目标文件模块, 但除非在文件中明确包含这些库名,否 则这些库不会被链接进工程文件。在这种情况下使用/NOD将导 致错误LNK2001。
2.如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC时将得到“unresolved external on _WinMain@16”的LNK2001错误信息。
3.使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func” 的引用。如果试图使用静态LIBC.LIB 或LIBCMT.LIB进行连接,将在__imp__func上发生LNK2001;如果不使用/MD选项编译,在使用MSVCxx.LIB连接时也会发生LNK2001。
4.使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001。
5.当编译调试版的应用程序时,如果采用发行版模态库进行连接也会产生LNK2001;同样,使用调试版模态库连接发行版应用程序时也会产生相同的问题。
6.不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可能包含早先的版本没有的符号和说明。
7.在不同的模块使用内联和非内联的编译选项能够导致LNK2001。如果创建C++库时打开了函数内联(/Ob1或/Ob2),但是在描述该函数的相应头文件里却关闭了函 数内联(没有inline关键字),这时将得到该错误信息。为避免该问题的发生,应该在相应的头文件中用inline关键字标志内联函数。
8.不正确的/SUBSYSTEM或/ENTRY设置也能导致LNK2001。
其实,产生LNK2001的原因还有很多,以上的原因只是一部分而已,对初 学者来说这些就够理解一阵子了。但是,分析错误原因的目的是为了避免错误的发生LNK2001错误虽然比较困难,但是只要注意到了上述问题,还是能 够避免和予以解决的。