説明と違う部分があったのでメモ
https://github.com/alexrj/Slic3r
xs/Build.PLの修正
OSXではlibboost_threadではなく、libboost_thread-mtっぽいので直す
xs/Build.PL
l48-50
# In order to generate the -l switches we need to know how Boost libraries are named my $have_boost = 0; my @boost_libraries = qw(system thread-mt); # we need these #ここ(=>threadをtread-mtにする)
ビルド(GitHubドキュメントのように後ろに--sudoをつけるんじゃなくて、普通に頭にsudoをつける)
sudo perl Build.PL sudo perl Build.PL --gui
ついでに使われてるヘッダを調べてみる
ag "\#include \<"| sed 's/.*\#//g' | awk '!a[$0]++'
include <stdio.h> include <stdlib.h> include <string.h> include <math.h> include <vector> include <list> include <set> include <stdexcept> include <cstring> include <cstdlib> include <ostream> include <functional> include <queue> include <algorithm> include <cmath> include <algorithm> include <string> include <libslic3r.h> include <stdlib.h> // for setenv() include <assert.h> include <map> include <climits> include <cstdio> include <cstdlib> include <iostream> include <stdexcept> include <vector> include <boost/polygon/polygon.hpp> include <cassert> include <list> include <cmath> include <sstream> include <queue> include <boost/asio.hpp> include <boost/bind.hpp> include <boost/thread.hpp> include <istream> include <boost/algorithm/string/predicate.hpp> include <boost/algorithm/string/trim.hpp> include <boost/date_time/posix_time/posix_time.hpp> include <boost/lexical_cast.hpp> include <termios.h> include <sys/ioctl.h> include <IOKit/serial/ioss.h> include <linux/serial.h> include <fstream> include <iomanip> include <set> include <utility> include <ostream> include <limits> // for numeric_limits include <cstring> include <ctime> include <unistd.h> // provides **environ include <crt_externs.h> include <boost/version.hpp> include <admesh/stl.h> include <xsinit.h> include <deque> include <cstddef> include <exception> include <stdio.h> include <string.h> include <math.h> include <Windows.h> include <ClipperUtils.hpp> include <Config.hpp> include <ExPolygon.hpp> include <MultiPoint.hpp> include <Point.hpp> include <Polygon.hpp> include <Polyline.hpp> include <TriangleMesh.hpp> include <locale.h>
比較:CuraEngine
include <algorithm> include <memory> // shared_ptr include <thread> include <cinttypes> include <Arcus/Socket.h> include <Arcus/SocketListener.h> include <Arcus/Error.h> include <string> // stoi include <windows.h> include <memory> include <string.h> include <sstream> include <list> include <fstream> include <map> // multimap (ordered map allowing duplicate keys) include <cassert> include <stdarg.h> include <iomanip> include <cmath> include <stdio.h> include <deque> // for extrusionAmountAtPreviousRetractions include <sstream> // for stream.str() include <cstring> include <vector> include <stdlib.h> include <sys/time.h> include <signal.h> include <execinfo.h> include <sys/resource.h> include <stddef.h> include <algorithm> // min include <strings.h> include <stdint.h> include <algorithm> // max include <string> include <iostream> // debug IO include <libgen.h> // dirname include <algorithm> // find_if include <unordered_map> include <iostream> // debug out include <cctype> include <sstream> // ostringstream include <map> include <stdio.h> // for file output include <regex> // regex_search include <set> include <queue> include <algorithm> // remove_if include <cmath> // sqrt include <utility> // pair include <deque> include <iostream> include <cstdlib> // rand include <math.h> include <math.h> include <limits> include <functional> // std::function include <cstdio> // sscanf include <cstring> // strstr include <iomanip> // setw, setfill include <stdint.h> include <math.h> include <windows.h> include <sys/time.h> include <stddef.h> include <clipper/clipper.hpp> include <functional> // for hash function obkject include <iostream> // auto-serialization / auto-toString() include <cmath> // atan2 include <stdio.h> include <stdarg.h> include <assert.h> include <float.h> include <algorithm> // std::reverse, fill_n array include <cmath> // fabs include <limits> // int64_t.min include <winsock2.h> include <sys/types.h> include <sys/socket.h> include <unistd.h> include <netinet/in.h> include <arpa/inet.h> include <string> include <ctype.h> include <cmath> // isfinite include <unordered_set> include <functional> // hash function object include <fstream> // debug IO include <functional> // passing function pointer or lambda as argument to a function