我尝试将Linux软件移植到使用CMake构建的OS X(Yosemite)。我必须做的唯一修改是在执行class App extends EventEmitter {
addPage(name) {
this[name] = new App.Page;
this.emit("page-added");
}
}
App.Page = class extends EventEmitter {
constructor() {
super();
this._paragraphs = [];
}
addParagraph(text) {
this._paragraphs.push(text);
this.emit("paragraph-added");
}
};
时指向Homebrew安装的GNU GCC和G ++。
如果我使用现有的CMakeLists.txt,则构建过程将停止,并显示以下错误:
cmake
显然ld: unknown option: --start-group
collect2: error: ld returned 1 exit status
make[2]: *** [lib/somelib.dylib] Error 1
make[1]: *** [lib/somelib.dir/all] Error 2
make: *** [all] Error 2
只适用于GNU ld而不是dyld,OS X ld派生。正如回答here所述,无法在OS X上安装GNU ld。
如何设置CMake代替使用dyld选项?