我正在尝试使用VeriFone sdk中的Vrxcc Compiler进行编译。 当我想为Vx675姿势付款创建图形应用程序时,编译器显示此错误
错误:L6218E:未定义的符号VxGUI :: VxGUI()(从Main.o引用)
Main.cpp是
#include <stdio.h>
#include <svc.h>
#include <svc_gui.h>
void main()
{
VxGUI *m_GUIObj;
m_GUIObj = new VxGUI();
}
MakeFile是
#
################### Paths ##################
#
ACTIncludes = $(EVOACT)include
EOSIncludes = $(EOSSDK)\include
GUIIncludes = $(GUISDK)\Include
CardslotInclude=$(VCARDSLOT)\Include
DTKTOOLS=C:\eVoAps\Tools
################### App Source Paths ##################
SrcDir = .
################### Compiler/Linker/Outhdr Output Paths ##################
ObjDir = .\vobj
OutDir = .\vbin
###################for release...##################
ACTStaticLibraries = $(EVOACT)\Output\RV\Files\Static\Release
ACTSharedLibraries = $(EVOACT)\OutPut\RV\Files\Shlib1\Release
VMACLibraries = $(EVOVMAC)\Output\RV\Lib\Files\Debug
EOSLibararuies = $(EOSSDK)\lib
GUISDKLibraries= $(GUISDK)\lib
VRXSDKLobraries= $(EVOSDK)\lib
VCARDSLOTLobraries= $(VCARDSLOT)\Output\RV\Files\Static
#
######################### Options for Tools ########################
#
############# Compiler Options ############
Includes = -I$(ACTIncludes) -I$(EOSIncludes) -I$(GUIIncludes) -I$(CardslotInclude)
# for release version change the COptions to
#COptions = -DLOGSYS_FLAG -DVERIFONE
COptions = -D_VERIFONE -DVERIFONE -DEVO -p -W -D ARM -D _ARM -g -D _MAKE_VX_
VRXHDRPARAM= -s 300000 -h 4000000
#
######################### Dependencies ########################
#
AppObjects = $(ObjDir)\Main.o
#Using ACT static library.
ACTLibs = \
$(ACTStaticLibraries)\act2000.a \
$(EOSLibararuies)\CEIF.o \
$(EOSLibararuies)\svc_net.o \
$(EOSLibararuies)\elog.o \
$(GUISDKLibraries)\libvxguisdk.so
#
######################### sample Target Definition ########################
#
pseudoOut : $(OutDir)\Hello.out
$(EVOSDK)\bin\vrxhdr $(VRXHDRPARAM) -l ceif.lib=N:/ceif.lib -l net.lib=N:/net.lib -l elog.lib=N:/elog.lib $(OutDir)\Hello.out
$(OutDir)\Hello.out : $(AppObjects)
$(EVOSDK)\bin\vrxcc -map -p $(AppObjects) $(ACTLibs) -o Hello.out
move Hello.out $(OutDir)
del /F /Q $(ObjDir)\*.o
######################## Compile #########################
$(ObjDir)\Main.o : $(SrcDir)\Main.cpp
$(EVOSDK)\bin\vrxcc -c $(Includes) $(COptions) $(SrcDir)\Main.cpp -e"-" | "$(DTKTOOLS)\fmterrorARM.exe"
move Main.o $(ObjDir)\Main.o
请帮我解决这个问题。
答案 0 :(得分:2)
修复了上述问题? 如果没有,请注意,当您使用libvxgui时,必须使用C ++语法并生成.vso文件而不是.out bin文件。
在CC和Link选项中插入-vsoapp选项,输出必须是.vso文件。
COptions = -g -b -p -vsoapp -map -armcc,&#34; - diag_suppress 1300 \,611 \,9, - apcs = / fpic --export_all_vtbl&#34; -DLOGSYS_FLAG -DLOGSYS_NEW_API_STYLE
LOptions = -g -p -vsoapp -b -k -map
$(VRXSDK)/ bin / vrxcc $(Lptions)$(AppObjects)$(Libs)-o $ @
$(VRXSDK)/ bin / vrxhdr -s $(STACK_SIZE)-h $(HEAP_SIZE)-lnet.lib = N:/net.lib -lceif.lib = N:/ceif.lib -lssl.lib = N:/ssl.lib -lelog.lib = N:/elog.lib $(OutDir)/ $(OutFile)
$(ObjDir)/%。o:$(SrcFiles)/%。c $(VRXSDK)/ bin / vrxcc -c $(COptions)$(包括)$&lt; -o $ @
$(ObjDir)/%。o:$(SrcFiles)/%。cpp $(VRXSDK)/ bin / vrxcc -c $(COptions)$(包括)$&lt; -o $ @
我已经使用了VxGUI并且成功地包含了QT Objects。 如果您有更多问题,请告诉我。我可以向你发送一个有效的项目。
祝你好运, Leandro的