VC 使用ADO连接数据库的问题!error C2059: 语法错误 : “<L_TYPE_raw>”

解决stafx.h文件导入ADO dll时的错误问题
本文详细介绍了在stafx.h中添加ADO dll导入时遇到的错误,包括错误代码解释和解决方法。通过修改导入语句,使用特定的命名方式和命名空间重命名函数,成功解决了导入问题。

 在stafx.h中添加
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace 
rename("EOF", "adoEOF")
错误提示:
1>d:\documents\codes\ch15demo1\ch15demo1\debug\msado15.tlh(2373) : error C2059: 语法错误 : “<L_TYPE_raw>”
1>d:\documents\codes\ch15demo1\ch15demo1\debug\msado15.tlh(2373) : error C2238: 意外的标记位于“;”之前
1>d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

解决办法如下:

#import "c:\program files\common files\system\ado\msado15.dll" named_guids rename_namespace("ADOCG") rename("EOF", "EndOfFile") rename("BOF","FirstOfFile")
using namespace ADOCG;
添加到stafx.h的最后面

 

D:\anaconda3\envs\env1\lib\site-packages\numpy\_core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION aitodpycocotools\_mask.c(1192): error C2061: 语法错误: 标识符“__pyx_t_float_complex” aitodpycocotools\_mask.c(1192): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1197): error C2061: 语法错误: 标识符“__pyx_t_float_complex_from_parts” aitodpycocotools\_mask.c(1197): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1197): error C2059: 语法错误:“<parameter-list>” aitodpycocotools\_mask.c(1204): error C2061: 语法错误: 标识符“__pyx_t_double_complex” aitodpycocotools\_mask.c(1204): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1209): error C2061: 语法错误: 标识符“__pyx_t_double_complex_from_parts” aitodpycocotools\_mask.c(1209): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1209): error C2059: 语法错误:“<parameter-list>” aitodpycocotools\_mask.c(1216): error C2061: 语法错误: 标识符“__pyx_t_long_double_complex” aitodpycocotools\_mask.c(1216): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1221): error C2061: 语法错误: 标识符“__pyx_t_long_double_complex_from_parts” aitodpycocotools\_mask.c(1221): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(1221): error C2059: 语法错误:“<parameter-list>” aitodpycocotools\_mask.c(3453): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(3863): warning C4244: “函数”: 从“npy_intp”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(3863): warning C4244: “函数”: 从“npy_intp”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(3863): warning C4244: “函数”: 从“npy_intp”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(6870): warning C4244: “=”: 从“npy_intp”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(7628): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据 aitodpycocotools\_mask.c(14177): error C2061: 语法错误: 标识符“__pyx_t_float_complex_from_parts” aitodpycocotools\_mask.c(14177): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(14177): error C2059: 语法错误:“<parameter-list>” aitodpycocotools\_mask.c(14331): error C2061: 语法错误: 标识符“__pyx_t_double_complex_from_parts” aitodpycocotools\_mask.c(14331): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(14331): error C2059: 语法错误:“<parameter-list>” aitodpycocotools\_mask.c(14485): error C2061: 语法错误: 标识符“__pyx_t_long_double_complex_from_parts” aitodpycocotools\_mask.c(14485): error C2059: 语法错误:“;” aitodpycocotools\_mask.c(14485): error C2059: 语法错误:“<parameter-list>” error: command 'D:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
最新发布
09-16
### 解决无法打开源文件 'maskApi.c' 的问题 - **检查文件是否存在**:确认克隆的仓库中是否存在`maskApi.c`文件,可以使用以下命令查找: ```bash find /path/to/cloned/cocoapi-aitod -name "maskApi.c" ``` 若文件确实不存在,可能是克隆过程不完整,可删除克隆的仓库,重新进行克隆: ```bash git clone https://gitclone.com/github.com/jwwangchn/cocoapi-aitod.git ``` - **检查文件路径**:若文件存在,但编译时找不到,可能是文件路径设置有误。在`setup.py`文件中查看编译时使用的文件路径是否正确。若路径设置错误,需要修改`setup.py`文件中的相关路径配置[^1]。 - **复制文件**:若上述方法都无法解决问题,可以尝试将`common`文件夹复制到当前环境的地址下,再进行编译: ```bash cp -r /path/to/cloned/cocoapi-aitod/common /path/to/current/environment python setup.py build_ext --inplace ``` ### 解决 'aitodpycocotools/_mask.c' 文件中语法错误问题 - **标识符未定义**:标识符`__pyx_t_float_complex`等未定义,可能是缺少必要的头文件或者编译环境配置问题。检查`aitodpycocotools/_mask.c`文件开头是否包含了所有必要的头文件,例如: ```c #include <Python.h> #include <math.h> // 其他必要的头文件 ``` 同时,确保编译环境中相关的库已经正确安装。 - **语法符号错误**:仔细检查`aitodpycocotools/_mask.c`文件中的语法,查看是否有拼写错误、括号不匹配等问题。可以使用代码编辑器的语法检查功能来辅助查找错误。 ### 解决数据类型转换警告的问题 数据类型转换警告通常是由于不同数据类型之间的隐式转换引起的。可以通过显式类型转换来消除警告,例如: ```c int a = 10; float b = (float)a; // 显式类型转换 ``` 同时,检查代码中是否存在不必要的数据类型转换,尽量避免隐式转换。 ### 解决编译命令失败(exit code 2)的问题 编译命令失败(exit code 2)通常是由于前面的错误(如无法打开源文件、语法错误等)导致的。在解决了前面的问题之后,重新执行编译命令: ```bash python setup.py build_ext --inplace ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值