スタティック ライブラリの作成方法を学習するための簡単なプロジェクトを作成しました。CodeLite で新しいワークスペースを作成し、新しいプロジェクトと新しい静的ライブラリを作成しました。
私が持っている静的ライブラリでは、「include」フォルダー内に.hファイルが呼び出さhelloworld.h
れ、「src」フォルダー内に.cファイルが呼び出されhelloworld.c
ます。出力ファイルは、lib という名前のフォルダー内のワークスペース内のフォルダー (../lib) に生成されます。
同じワークスペース内に、helloworld が .c で呼び出されるファイル .c を持つプロジェクトがあります#include "helloworld.h"
。最後に、プロジェクトの設定は次のとおりです。
リンカー メニュー:
ライブラリ検索パス: ../lib ライブラリ:
一般メニュー:
プロジェクトをコンパイルすると、次のエラーが発生しました。
fatal error: 'helloworld.h' file not found
プロジェクトが問題なくコンパイルされる唯一の方法は、include パラメーター内でファイルへの相対パスを取得することです。
#include "../HelloWorldLib/include/helloworld.h"
ファイルにパスを追加せずに作業する方法があるのだろうか。MAC OS 10.9.5 で CodeLite を使用しています。Ubuntu でも同じ問題が発生します。
私の先生は、これは CodeLite Windows では発生しないと説明しましたが、Mac で何が発生するかはわかりません。さらに、include パラメータ内でパスを使用する必要はありません。