gpt4 book ai didi

c++ - 获取与 Xalan 一起运行的 Eclipse C++ 环境

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:55 26 4
gpt4 key购买 nike

我一直致力于让 C++ IDE 在我的 64 位 Windows 7 机器上运行。这一直令人沮丧,主要是因为使用 Eclipse IDE for C/C++ Developers

的 32 位和 64 位程序不兼容

好吧,我终于编译了 HelloWorld,现在我想将 Xalan 添加到我的项目中。我已经下载了源代码和二进制文件。获取在 MinGW(我选择的编译器)中编译的源代码是不可能的,但我正在努力使用二进制目录中的 .lib 文件,如 xerces-c_2.lib。我可以将它们链接到我的 C++ 项目吗?如果可以,我该怎么做?

谢谢!

编辑更新 2011-08-30

我只是运气不好,但我想发布更新。我尝试在 Eclipse 之外构建它但没有成功。我正在尝试创建与 Xalan-C 捆绑在一起的 StreamTransform.cpp 示例。它与关联的头文件位于一个目录中:XalanMemoryManagerImpl.hpp

然后我创建了以下 Makefile:

OBJS = StreamTransform.o
CC = g++
DEBU \G = -g
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)
LIBDIR = -LC:\Development\xslTests\stream\lib
LIBS = -lxerces-c_2 -lxerces-depdom_2 -lXalan-C_1
INCDIR = -IC:\Libs\xerces-c-windows_2000-msvc_60\include -IC:\Libs\Xalan-C_1_10_0-win32-msvc_60\include

all: transformer

transformer: $(OBJS)
$(CC) $(LFLAGS) $(OBJS) -o transformer $(LIBDIR) $(LIBS)

StreamTransform.o : StreamTransform.cpp XalanMemoryManagerImpl.hpp
$(CC) $(INCDIR) $(CFLAGS) StreamTransform.cpp

基本目标 StreamTransform.o 成功运行并生成了输出文件,但转换器死了。我在这里得到的错误与我在 Eclipse 中遇到的错误相同。一堆“undefined reference 错误:

C:\Users\x_walia\workspace\TCXMLTransformer\Debug/../StreamTransform.cpp:115: undefined reference to `xalanc_1_10::XSLTInputSource::XSLTInputSource(std::istream*, xercesc_2_7::MemoryManager&)'

StreamTransform.o: In function main': C:/Libs/Xalan-C_1_10_0-win32-msvc_60/include/xalanc/XSLT/XSLTResultTarget.hpp:103:
undefined reference to
xalanc_1_10::XalanMemMgrs::getDefaultXercesMemMgr()'

对我来说,这看起来像是存在某种库链接错误,但是什么?我不应该认为有六个 .lib 文件与我正在使用的 Windows 二进制发行版捆绑在一起。其中一半具有后缀:_d,如 xerces-c_2*d* 中,表示调试库。我试过包括和省略这些,但无济于事。

我听说这个项目被放弃了,想知道我是不是遇到了问题,因为我在 Windows 7 64 位机器上编译...

最佳答案

您不能将使用 Microsoft Visual C++ 构建的 C++ 库链接到使用 mingw 构建的对象或库。 ABI 不兼容。

我首选的搜索引擎不提供指向现有 Xalan/Xerces mingw 二进制文件的任何链接,因此您可能必须自己构建它们。

关于c++ - 获取与 Xalan 一起运行的 Eclipse C++ 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com