Ult*_*lly 6 c++ macos xcode makefile
在这里编译的新手,请耐心等待。我正在尝试在 OS X 10.10.3 上使用make
. 我安装了 XCode 6.3.1。我的 Makefile 是使用 qmake 生成的。编译器运行良好,直到它尝试运行最终构建命令并抛出错误:
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
puntoexe::charsetConversionIconv::myIconv(void*, char*, unsigned long) const in charsetConversionIconv.o
"_iconv_close", referenced from:
puntoexe::charsetConversionIconv::close() in charsetConversionIconv.o
"_iconv_open", referenced from:
puntoexe::charsetConversionIconv::initialize(int) in charsetConversionIconv.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [dicom2jpeg.app/Contents/MacOS/dicom2jpeg] Error 1
Run Code Online (Sandbox Code Playgroud)
我在这里发现多个线程描述了一个类似的问题,显然它归结为链接到 32 位库的编译器。对其他人有效的主要建议是将以下代码添加到 Makefile 中:
-stdlib=libstdc++
Run Code Online (Sandbox Code Playgroud)
qmake 生成的 Makefile 如下所示:
CC = clang
CXX = clang++
DEFINES = -DQT_NO_DEBUG
CFLAGS = -pipe -mmacosx-version-min=10.7 -O2 -arch x86_64 -Wall -W $(DEFINES)
CXXFLAGS = -pipe -stdlib=libc++ -mmacosx-version-min=10.7 -O2 -arch x86_64 -Wall -W $(DEFINES)
INCPATH = -I/usr/local/Cellar/qt/4.8.6/mkspecs/unsupported/macx-clang-libc++ -I. -I/usr/local/Cellar/qt/4.8.6/include -I.
LINK = clang++
LFLAGS = -headerpad_max_install_names -stdlib=libc++ -mmacosx-version-min=10.7 -arch x86_64
LIBS = $(SUBLIBS) -L/usr/local/Cellar/qt/4.8.6/lib -lpthread
Run Code Online (Sandbox Code Playgroud)
因此,我已更改我的 Makefile 以链接到相应的库:
CC = clang
CXX = clang++
DEFINES = -DQT_NO_DEBUG
CFLAGS = -pipe -mmacosx-version-min=10.7 -O2 -arch x86_64 -Wall -W $(DEFINES)
CXXFLAGS = -pipe -stdlib=libstdc++ -mmacosx-version-min=10.7 -O2 -arch x86_64 -Wall -W $(DEFINES)
INCPATH = -I/usr/local/Cellar/qt/4.8.6/mkspecs/unsupported/macx-clang-libc++ -I. -I/usr/local/Cellar/qt/4.8.6/include -I.
LINK = clang++
LFLAGS = -headerpad_max_install_names -stdlib=libstdc++ -mmacosx-version-min=10.7 -arch x86_64
LIBS = $(SUBLIBS) -L/usr/local/Cellar/qt/4.8.6/lib -lpthread
Run Code Online (Sandbox Code Playgroud)
但是,没有骰子。在最终构建时仍然抛出相同的错误。我错过了什么吗?
归档时间: |
|
查看次数: |
3851 次 |
最近记录: |