Когда я пытаюсь скомпилировать мой файл, используя библиотеку (. A), я получаю 'фатальную ошибку: URLInputStream.h: такого файла или каталога нет
компиляция прекращена.
'. Я все еще довольно плохо знаком с C ++, и это кажется таким простым, но я не могу заставить его работать.
Команды компиляции, которые я пробовал:
g++ inc/Downloader.h lib/libcs240utils.a
g++ inc/Downloader.h -L lib -l cs240utils
g++ inc/Downloader.h -Llib -lcs240utils
g++ src/Downloader.cpp -I inc -L lib -l cs240utils
g++ -c src/Downloader.cpp -I inc -L lib -l cs240utils
Как мне скомпилировать мой архив:
make lib
g++ -c -o utils/obj/CommandRunner.o utils/src/CommandRunner.cpp -I utils/inc
g++ -c -o utils/obj/FileInputStream.o utils/src/FileInputStream.cpp -I utils/inc
g++ -c -o utils/obj/FileSystem.o utils/src/FileSystem.cpp -I utils/inc
g++ -c -o utils/obj/HTMLToken.o utils/src/HTMLToken.cpp -I utils/inc
g++ -c -o utils/obj/HTMLTokenizer.o utils/src/HTMLTokenizer.cpp -I utils/inc
g++ -c -o utils/obj/HTTPInputStream.o utils/src/HTTPInputStream.cpp -I utils/inc
g++ -c -o utils/obj/StringUtil.o utils/src/StringUtil.cpp -I utils/inc
g++ -c -o utils/obj/URLInputStream.o utils/src/URLInputStream.cpp -I utils/inc
ar cr lib/libcs240utils.a utils/obj/*.o
Архив, похоже, построен правильно:
ar t lib/libcs240utils.a
CommandRunner.o
FileInputStream.o
FileSystem.o
HTMLToken.o
HTMLTokenizer.o
HTTPInputStream.o
StringUtil.o
URLInputStream.o
Я также пробовал различные варианты в ar
. Если я укажу включаемый путь -I utils/inc
, он скомпилируется и будет работать правильно, поэтому нужный файл работает правильно. Я прочитал множество статей и вопросов здесь, на StackOverflow, и я не могу видеть, что я делаю неправильно. Есть идеи или предложения?
Примечание: я собираю заголовок, который кажется странным. Первоначально он был разделен на .cpp
и .h
, но для упрощения решения проблем я объединил их. Та же самая ошибка произошла, когда они также были разделены: g++ src/Downloader.cpp -I inc -L lib -l cs240utils