C++ 雪豹上的wxWidgets存在问题
我在编译wxWidget应用程序时遇到问题。我已安装了库的最新版本,如下所示:C++ 雪豹上的wxWidgets存在问题,c++,osx-snow-leopard,wxwidgets,static-linking,C++,Osx Snow Leopard,Wxwidgets,Static Linking,我在编译wxWidget应用程序时遇到问题。我已安装了库的最新版本,如下所示: set arch_flags="-arch x86_64 " ./configure -with-osx_cocoa --disable-shared --disable-compat24 --enable-unicode --enable-universal-binary CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" CPPFLAGS="$arch_flags" LDFLA
set arch_flags="-arch x86_64 "
./configure -with-osx_cocoa --disable-shared --disable-compat24 --enable-unicode --enable-universal-binary CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" CPPFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" OBJCXXFLAGS="$arch_flags"
sudo make install
我正在尝试编译一个简单的hello world示例,其中包括:
WXWIDGETS = -I/usr/local/include/wx-2.9/
CXXFLAGS = -O2 -g -Wall -Wextra -fmessage-length=0
CXX = $(shell wx-config --cxx)
PROGRAM = wxProjectExample
OBJECTS = $(PROGRAM).o
# implementation
.SUFFIXES: .o .cpp
.cpp.o :
$(CXX) -c `wx-config --static=yes --libs` `wx-config --static=yes --cxxflags` -o $@ $<
all: $(PROGRAM)
$(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean:
rm -f *.o $(PROGRAM)
这个框架在哪里会有问题,或者有人有类似的问题
Thx
PS
系统:雪豹(64位)10.6.5。对于英特尔进程gcc 4.2.当默认安装前缀为
/usr/local
时,我很惊讶您在/usr/lib
中有libwx\u xxx
。您确定系统上没有多个不兼容的库版本吗
另外,在使用静态链接时,包含代码依赖项的库必须位于引用它们的对象文件之后,因此
wx config--libs
部分应该位于规则的末尾。我通过将新wx二进制文件的路径添加到path来修复此问题
$export PATH=/usr/local/ceral/wxmac/2.8.11/bin:$PATH
我正在使用brew安装wxmac。安装包可能有错误。你有没有试着把你的问题发上来?我如何测试,是否有问题?我已经编译了该库好几次,并用“makeinstall”安装了它。为了进行测试,我删除了带有:rm-f/usr/bin/wx*rm-r/usr/include/wx*rm-r/usr/lib/wx-rm-f/usr/libwx*rm-f/usr/local/bin/wx*rm-r/usr/local/include/wx*rm-r/usr/usr/local/lib/libwx*的库,并且又安装了一次,但我得到了相同的错误,但只有一个:ld:warning:in/System/Library/Frameworks//QuickTime.framework/QuickTime,文件中缺少必需的体系结构x86_64有关QT的警告可能是无害的。至于“如何测试”——这取决于您如何安装它。同样,默认情况下,它根本不会在
/usr
下安装。
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
ld: warning: in /usr/lib/libwx_macud-2.8.dylib, missing required architecture x86_64 in file
Undefined symbols:
"wxWindowBase::DoSetVirtualSize(int, int)", referenced from:
vtable for MyFramein wxProjectExample.o