用MFC给CUDA程序做界面,为了使程序不依赖MSVC库,选择使用静态的MFC库,同时设置Release为/MT编译
出现如下的错误:
1>正在链接...
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMT.lib(delete.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已经在 LIBCMT.lib(new2.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义
1>d:\XXXXXXXX\xxx.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
之前已经设置了链接器的忽略特定的库为:
libc.lib
msvcrt.lib
msvcprt.lib
libcd.lib
libcmtd.lib
msvcrtd.lib
libcpmtd.lib
msvcprtd.lib
所以无法再通过设置LIBCMT.lib来解决了。如果使用动态的MFC库则没有这个问题。
参考了http://www.cnblogs.com/suiyingjie/archive/2012/10/29/2745031.html才终于通过设置工程属性 "连接器"->"输入"->"附加依赖项"里面输入"nafxcw.lib",编译时先链接nafxcw.lib而得到解决。
在工程上右键-》属性-》c/c++-》代码生成-》运行库
改成(release为MT,debug为MTD)即可解决:
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
opencart是一个用PHP开发的网上商城程序,据说是一位英国人独自完成的,赞一个!
vqmod是opencart的一种编程机制,可以理解为vqmod就是opencart的插件。
既然将vqmod认为是opencart的插件,那它必然是一个或多个文件,事实也是如此;
文件位置:vqmod/xml(当前目录均为网站根目录,下同)
文件格式:xml格式,
原理:文本查找、替换换增加
举例说明:vqmod_add_sku.xml
<modification> /* 根 */
<id>Very simple AJAX live search</id>
<version>1.0.0</version>
<vqmver>1.2.3</vqmver>
<author>n[oO]ne</author>
<file name="admin/controller/catalog/product.php"> /* 替换的文件名*/
<operation>
<search position="after"> /*ater: 在寻找到的字符串后面增加;before:在寻找到的字符串前面增加;replace:替换寻找到的字符串*/
<![CDATA[
$this->data['products'][] = array( /* 查找的字符串*/
]]>
</search>
<add>
<![CDATA[
'sku' => $result['sku'], /* 增加或替换的字符串*/
'upc' => $result['upc'],
]]>
</add>
</operation>
</file>
看到这里大家就明白了,vqmod的机制就是当执行某一程序(比如a.php,也可以是模型文件和视图文件)时,先查找vqmod/目录下的所有xml文件,有没有<file name="a.php";若没有,就正常执行;若有,就按这个xml文件的说明替换掉源文件,再执行这替换后的文件。所以系统会有一个位置存储这些替换后生成的文件,这个位置就是vqmod/vqcache,而且文件名有规律,比如上例中的name="admin/controller/catalog/product.php",则替换后的文件名为vq2-admin_controller_catalog_product.php。大家若有兴趣,不妨打开这三个文件,对比一下就一目了然了。