簡體   English   中英

無法使用G ++導入共享庫

[英]Cannot import shared library with g++

我制作了一個共享庫,將其鏈接到主程序,但是該主程序無法看到任何共享庫方法,也無法導入其標頭。 這就是我所做的:

  1. 我用位置無關的代碼編譯了庫的每個cpp文件
 g++ -c -fPIC -o objname.o objname.cpp -I"HeadersFolder" 
  1. 我創建了着色器庫,並在主目錄中使用正確的名稱正確創建了該着色器庫
 g++ -shared -o libmylib.so obj1.o obj2.o etc.. etc.. 
  1. 我正在嘗試使用以下命令編譯一個簡單的main:
 g++ main.cpp -L. -lmylib 

現在在這個主目錄中,我導入了一個lib標頭之一,如下所示:

#include <Header.hpp>

而且g ++告訴我沒有這樣的文件或目錄。

“現在在這個主目錄中,我導入了一個lib頭文件,類似於:...”

在這種情況下,還需要添加-I選項來編譯main.cpp

g++ main.cpp -I"HeadersFolder" -L. -lmylib

你也應該用

#include "Header.hpp" // Note the quotes "

尖括號( <> )用於包含系統標題(在預處理程序對其進行評估時,它們可能會與您自己的標題沖突)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM