الخيار G ++ -I لتجميع البرنامج
-
05-07-2019 - |
سؤال
وهنا مشكلة صغيرة لا يمكن حلها عن طريق لي مثل هذا البرنامج مبتدئ لينكس.
والآن لدي برنامج MAIN.CPP التي تحتاج إلى جمعها، هناك
#include "Down.h"
في الجزء الأمامي من الملف.
في الواقع، هذا الملف رأس موجودة في دليل آخر، والذي يقع في
../../../include
الدليل. الى جانب ذلك، بعض الملفات رأس الأخرى التي يحتاجها Down.h تحديد أيضا في هذا الدليل ../../../include.
وهنا هي المشكلة، وجمع MAIN.CPP مع القيادة
g++ -I /../../../include main.cpp
ولكن، وأنه يعطي الكثير من المعلومات الخطأ مما يعني أنه ليس من الصحيح أن يتم مثل هذا.
هل يجب أيضا تغيير تشمل الإعلان إلى هذا واحد؟
#include "../../../include/DownConvert.h"
وعسى أن يرجى ترك لي مع بعض النصائح؟ شكرا.
تحرير:
وبعد استخدام g++ -I ../../../include main.cpp
، وأحصل على الأخطاء التالية:
$ g++ -I ../../../include main.cpp
In file included from ../../../include/DownConvert.h:98,
from main.cpp:92: ../../../include/ResizeParameters.h:4:22: error:
TypeDefs.h: No such file or directory
In file included from /usr/include/c++/4.4/bits/stl_algo.h:61,
from /usr/include/c++/4.4/algorithm:62,
from ../../../include/H2
المحلول
g++ -I /../../../include main.cpp
ونرى أن تؤدي مائلة بعد -I
؟ هذا هو مسار مطلق.
تغييره إلى مسار نسبي (كما هو موضح أدناه)، وانه سوف يعمل موافق.
g++ -I ../../../include main.cpp
نصائح أخرى
وز ++ -I ../../../include MAIN.CPP
ويجب أن تعمل
وحاول استخدام الخيار -v:
g++ -v -I ../../../include main.cpp
والتأكد من أن قائمة الدلائل للبحث عن ملفات التضمين يحتوي المجلد الخاص بك، وليس هناك يشكو من أن هذا المجلد هو غائب. إذا كان هناك هذا النوع من يشكو تصحيح المسار التي تعطي بعد -I