我有同樣的問題,它對Leezi寫的很好,我使用的版本是1.4.6 。
什麼,我必須做更多的事情就是重新編譯波蘇庫(因爲它被編譯爲使用C++ 11的支持鐺):
./configure --config=Darwin64-gcc
make
sudo make install
的另一種方式,你可以做的是編譯波科庫,C++ 11的支持,但它是一個小有點複雜。 首先,我不得不修改基金會兩個源文件:
基金會/ src目錄/ NumberParser.cpp:
127c127
< return std::sscanf(s.c_str(), "%"I64_FMT"d%c", &value, &temp) == 1;
---
> return std::sscanf(s.c_str(), "%" I64_FMT "d%c", &value, &temp) == 1;
144c144
< return std::sscanf(s.c_str(), "%"I64_FMT"u%c", &value, &temp) == 1;
---
> return std::sscanf(s.c_str(), "%" I64_FMT "u%c", &value, &temp) == 1;
161c161
< return std::sscanf(s.c_str(), "%"I64_FMT"x%c", &value, &temp) == 1;
---
> return std::sscanf(s.c_str(), "%" I64_FMT "x%c", &value, &temp) == 1;
基金會/ src目錄/ DirectoryWatcher.cpp:
51a52
> #include <unistd.h>
我修改建立/配置/達爾文 - 鐺文件太:
55,56c55,56
< CXXFLAGS = $(ARCHFLAGS) -Wall -Wno-sign-compare
< LINKFLAGS = $(ARCHFLAGS)
---
> CXXFLAGS = $(ARCHFLAGS) -Wall -Wno-sign-compare -std=c++11 -stdlib=libc++
> LINKFLAGS = $(ARCHFLAGS) -stdlib=libc++
80c80
< SYSLIBS = -ldl
---
> SYSLIBS = -ldl -lstdc++
我只需要對靜態庫,所以我只編譯如下:
./configure --static --omit=Data --config=Darwin64-clang --poquito -no-tests -no-samples -no-shared
make clean
make
sudo make install
如果您需要樣品和測試過的話,我想你應該作出Xcode項目,並建立了它或深入makefile文件裏面...... 我希望這幫助...
也許你已經庫頭用於其他版本POCO的話庫在LD_LIBRARY_PATH(或不過這就是所謂的在Mac OS X)?或者你有POCO編譯爲32位的? – Yester
只是檢查,POCO是建立Darwin64(我用自制安裝它),我有POCO唯一的標題是那些被安裝了,它的庫我試圖鏈接:( – em70