1
內我在一家詹金斯環境中使用CMake的構建共享對象,並希望建立從源頭的protobuf編譯器。從源代碼構建編譯器「的protobuf」,並用它來與它從cmake的
這一切工作,但在下一步我試圖用編譯器來翻譯我的原始文件不起作用,導致它找不到它自己的共享對象。我已經嘗試在CMakeLists.txt
文件中定義搜索路徑,但它不會檢測我的存儲庫樹$PRJ_MIDDLEWARE/protobuf/lib
中的共享對象位置。我試着告訴CMake的或系統中通過定義搜索:
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "$ENV{PRJ_MIDDLEWARE}/protobuf/lib")
set(ENV{LD_LIBRARY_PATH} "$ENV{PRJ_MIDDLEWARE}/protobuf/lib:$ENV{LD_LIBRARY_PATH}")
但在試圖調用protoc
編譯器我剛建立時,它總是失敗。我試圖從調用''ldconfig'' CMake的但原因詹金斯用戶沒有這樣做的權利不起作用。目前,我唯一的解決方案是登錄到構建服務器,手動執行此操作爲root
。但那不是我想要做的事......下一個版本移動到一個新目錄 - 這必須再次完成。我還有其他選擇嗎?優選直接從CMake的,從詹金斯或者甚至協議緩衝器?
謝謝