回 帖 发 新 帖 刷新版面

主题:一个关于C++的问题

大家好,我想将一个linux版本的C++程序改成windows版本,用VS 2008 调试后,有一堆链接错误,我不太熟悉VS 2008,如下:

FeatureExtractor.obj : error LNK2005: "double __cdecl log2(double)" (?log2@@YANN@Z) already defined in ExtraTreeClassifier.obj
1>frimcla.obj : error LNK2005: "double __cdecl log2(double)" (?log2@@YANN@Z) already defined in ExtraTreeClassifier.obj
1>LINK : warning LNK4067: ambiguous entry point; selected 'mainCRTStartup'
1>MaskImage.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ)
1>ExtraTreeClassifier.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ) referenced in function "void __cdecl printDecisionPatterns(class std::list<class TerminalNode *,class std::allocator<class TerminalNode *> > *)" (?printDecisionPatterns@@YAXPAV?$list@PAVTerminalNode@@V?$allocator@PAVTerminalNode@@@std@@@std@@@Z)
1>FeatureExtractor.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ)
1>frimcla.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ)

我不知道这是为什么,请高手解答,谢谢。以下是我的makeefile:

MAGICKCONFIG=Magick++-config
MAGICKCPPFLAGS=-DIMAGEMAGICK `$(MAGICKCONFIG) --cppflags`
MAGICKLDFLAGS=`$(MAGICKCONFIG) --ldflags --libs` -ldl

INCLUDE=-I./SIFT -I./libsvm

#CPPFLAGS=$(MAGICKCPPFLAGS) $(INCLUDE) -o3 -Wall
CPPFLAGS=$(MAGICKCPPFLAGS) $(INCLUDE) -g -Wall -O3
LDFLAGS=$(MAGICKLDFLAGS) #-lpthread -L../progs/Duma -lduma

CFLAGS=-W -Wall -g -O3
#CFLAGS=-W -Wall -g #-pg

# uncomment the below if you have SIFT sources
# CFLAGS += -DHAVE_SIFT
# SIFT_SRC=    SIFT/ParametersManager.c \
#                     SIFT/Matrix.c \
#                     SIFT/PgmIo.c \
#                     SIFT/Convolution.c \
#                     SIFT/BilinearInterpolation.c \
#                     SIFT/ResizeImage.c \
#                     SIFT/ImagePyramid.c \
#                     SIFT/Filter.c \
#                     SIFT/Detector.c \
#                     SIFT/InterestPoint.c \
#                     SIFT/Normalizer.c \
#                     SIFT/Sift.c
# SIFT_OBJ=    $(SIFT_SRC:.c=.o)

FRIMCLA_SRC=    ClassLabelHistogram.cpp \
                            DecisionNode.cpp \
                            ExtraTreeClassifier.cpp \
                            FeatureExtractor.cpp \
                            FeatureVector.cpp \
                            FMUtils.cpp \
                            frimcla.cpp \
                            IntegralImage.cpp \
                            MaskImage.cpp \
                            PDF.cpp \
                            SvmClassifier.cpp \
                            libsvm/svm.cpp \
                            TerminalNode.cpp

FRIMCLA_OBJ=    $(FRIMCLA_SRC:.cpp=.o)

all:frimcla

frimcla: $(FRIMCLA_OBJ) $(SIFT_OBJ)
    g++ $(LDFLAGS) $(FRIMCLA_OBJ) $(SIFT_OBJ) -lm -o frimcla

frimcla.o: frimclaUtils.cpp frimclaUtils2.cpp

test:test.o FMUtils.o FeatureVector.o SvmClassifier.o ClassLabelHistogram.o libsvm/svm.o
libsvm/svm.o:libsvm/svm.cpp
ClassLabelHistogram.o:ClassLabelHistogram.cpp
FeatureVector.o:FeatureVector.cpp
SvmClassifier.o:SvmClassifier.cpp
test.o:test.cpp
FMUtils.o:FMUtils.cpp

.SUFFIXES: .cpp .o

.cpp.o:
    g++ -c $(INCLUDE) $(CPPFLAGS) -o $@ $<

.c.o:
    g++ -c $(INCLUDE) $(CFLAGS) -o $@ $<

clean:
    -rm -f *.o *~ frimcla
    -rm -f libsvm/*.o libsvm/*~
    -rm -f SIFT/*.o SIFT/*~

回复列表 (共2个回复)

沙发

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系摩客元亨 QQ908889846
2010年,中国网民突破了4亿,
网络游戏玩家超过了3亿,
互联网即将进入全民网游的时代

板凳

寻找中国的最优秀的网商领袖精英 淘宝商盟元亨 qq: 908889846 
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

我来回复

您尚未登录,请登录后再回复。点此登录或注册