tomorrow0530 发表于 2011-5-23 12:06

C++调用lingo

本帖最后由 tomorrow0530 于 2011-5-23 12:07 编辑

现需要c++来调用lingo文件
我用lingo目录下C:\LINGO11\Programming Samples\VC++\**自带的文件,
新建了一个工程,
然后**.c文件加入工程,
然后再把lingo11.lib添加到工程中,

但是编译报错!
直接编译报:
75 C:\LINGO11\Programming Samples\VC++\**\**.c invalid conversion from `int (*)(void*, void*, int, char*)' to `void (*)(void*, void*, int, char*)'
75 C:\LINGO11\Programming Samples\VC++\**\**.c   initializing argument 2 of `int LSsetCallbackErrorLng(void*, void (*)(void*, void*, int, char*), void*)'

用**目录下的makefile文件编译报:
  CreateProcess((null), cl -c **.c, ...) failed.
  系统找不到指定的文件。
C:\LINGO11\Programming Samples\VC++\**\Makefile   [**.obj] Error 2
我用的C++编译器是devC++4.9.9.2
有人成功过吗?

tomorrow0530 发表于 2011-5-23 12:07

本帖最后由 tomorrow0530 于 2011-5-23 12:08 编辑

为什么我输入了s i m p l e变成**了

tomorrow0530 发表于 2011-5-23 12:14

在直接编译下我把75行的注释后,编译没有错了,但是链接出错了,说明还是没有链接成功
提示
Compiler: Default compiler
Building Makefile: "C:\LINGO11\Programming Samples\C++\**\Makefile.win"
Executing  make...
make.exe -f "C:\LINGO11\Programming Samples\C++\**\Makefile.win" all
g++.exe **.o  -o "Project1.exe" -L"C:/Dev-Cpp/lib"   

**.o(.text+0x15c):**.c: undefined reference to `LScreateEnvLng@0'
**.o(.text+0x1a6):**.c: undefined reference to `LSsetCallbackSolverLng@12'
**.o(.text+0x1eb):**.c: undefined reference to `LSopenLogFileLng@8'
**.o(.text+0x224):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x25d):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x296):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x2cf):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x308):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x341):**.c: more undefined references to `LSsetPointerLng@12' follow
**.o(.text+0x3bf):**.c: undefined reference to `L**ecuteScriptLng@8'
**.o(.text+0x3e1):**.c: undefined reference to `LScloseLogFileLng@4'
**.o(.text+0x460):**.c: undefined reference to `LSdeleteEnvLng@4'
collect2: ld returned 1 exit status

make.exe: *** Error 1

Execution terminated

tomorrow0530 发表于 2011-5-23 15:20

本帖最后由 tomorrow0530 于 2011-5-23 15:21 编辑

Compiler: Default compiler
Building Makefile: "C:\LINGO11\Programming Samples\C++\s imple\Makefile.win"
Executing  make...
make.exe -f "C:\LINGO11\Programming Samples\C++\s imple\Makefile.win" all
g++.exe -c S imple.c -o S imple.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"  -I"../../"   

g++.exe S imple.o  -o "Project1.exe" -L"C:/Dev-Cpp/lib" -L"C:/LINGO11/Programming Samples" ../../Lingd11.lib  

S imple.o(.text+0x15c):**.c: undefined reference to `LScreateEnvLng@0'
S imple.o(.text+0x1a6):**.c: undefined reference to `LSsetCallbackSolverLng@12'
S imple.o(.text+0x1eb):**.c: undefined reference to `LSopenLogFileLng@8'
S imple.o(.text+0x224):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x25d):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x296):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x2cf):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x308):**.c: undefined reference to `LSsetPointerLng@12'
**.o(.text+0x341):**.c: more undefined references to `LSsetPointerLng@12' follow
**.o(.text+0x3bf):**.c: undefined reference to `L**ecuteScriptLng@8'
**.o(.text+0x3e1):**.c: undefined reference to `LScloseLogFileLng@4'
**.o(.text+0x460):**.c: undefined reference to `LSdeleteEnvLng@4'
collect2: ld returned 1 exit status

make.exe: *** Error 1

Execution terminated

这次的编译结果,应该是s imple.o文件已经生成,但是生成project1.exe的时候出错了

alair004 发表于 2012-2-6 15:00

页: [1]
查看完整版本: C++调用lingo