這是關於C++程序分發的一個非常基本的問題。假設我有以下程序C++分佈程序依賴關係
#include "v8.h"
#include <SDL.h>
int main (int argc, char** argv)
{
// [AWSOME STUFF!]
return 0;
}
這取決於谷歌的V8和SDL2。在我的Mac,我已經安裝了這兩個庫,我能成功編譯這樣的程序:
clang++ -std=c++11 -I/usr/local/include -I/Library/Frameworks/SDL2.framework/Headers myprogram.cpp
要鏈接庫,我可以這樣做:
clang++ -F/Library/Frameworks -framework SDL2 -lv8 myprogram.o -o program
如果我正確理解它,它在我的電腦上工作,因爲這些庫是動態鏈接的。如果我想將它分發給可能沒有安裝它們的其他人?我如何靜態編譯它們以便在二進制文件中包含下劃線?或者我如何動態鏈接它們,但是使用軟件分發庫?
你似乎沒有鏈接到圖書館。你只有包含。你在哪裏打電話給圖書館的功能? –