Я установил пакеты с помощью vcpkg install и попытался вручную скомпилировать простой проект C++, который импортировал fmt, установленный с помощью vcpkg, но получил следующую ошибку:
clang++ -std=c++17 -v -I./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt main.cc -o main
Ubuntu clang version 18.1.8 (11~20.04.2)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/lib/llvm-18/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir main- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cc -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/vagrant/helloworld -v -fcoverage-compilation-dir=/home/vagrant/helloworld -resource-dir /usr/lib/llvm-18/lib/clang/18 -I ./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /usr/lib/llvm-18/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++17 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -dwarf-debug-flags "/usr/lib/llvm-18/bin/clang --driver-mode=g++ -std=c++17 -v -I ./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt main.cc -o main -dumpdir main-" -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/main-b5c538.o -x c++ main.cc
clang -cc1 version 18.1.8 based upon LLVM 18.1.8 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include search starts here:
./vcpkg_installed/x64-linux/lib/pkgconfig/../../include
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward
/usr/lib/llvm-18/lib/clang/18/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/bin/ld" -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o main /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -L/usr/bin/../lib/gcc/x86_64-linux-gnu/10 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib -lfmt /tmp/main-b5c538.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib/gcc/x86_64-linux-gnu/10/crtendS.o /lib/x86_64-linux-gnu/crtn.o
/usr/bin/ld: /tmp/main-b5c538.o: in function `void fmt::v11::print(fmt::v11::basic_format_string)':
main.cc:(.text._ZN3fmt3v115printIJEEEvNS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOS4_[_ZN3fmt3v115printIJEEEvNS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOS4_]+0xee): undefined reference to `fmt::v11::vprint(fmt::v11::basic_string_view, fmt::v11::basic_format_args)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:8: build] Error 1
Я использовал выходные данные pkg-config в качестве флагов компилятора (как показано в Makefile), но у clang возникли проблемы с поиском fmt...$ PKG_CONFIG_PATH=./vcpkg_installed/x64-linux/lib/pkgconfig pkg-config --cflags --libs fmt
-I./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt
$ tree .
.
├── Makefile
├── main.cc
├── vcpkg-configuration.json
├── vcpkg.json
└── vcpkg_installed
└── ...
Makefile
CC = clang++
PKG_CONFIG := $(shell PKG_CONFIG_PATH=./vcpkg_installed/x64-linux/lib/pkgconfig pkg-config --cflags --libs fmt)
CC_FLAGS = -std=c++17 -v $(PKG_CONFIG)
all: build
build:
$(CC) $(CC_FLAGS) main.cc -o main
clean:
rm main
main.cc
#include
int main() {
fmt::print("goodbye world\n");
return 0;
}
vcpkg-configuration.json
{
"default-registry": {
"kind": "git",
"baseline": "4b6c50d962cc20aaa3ef457f8ba683b586263cfb",
"repository": "https://github.com/microsoft/vcpkg"
},
"registries": [
{
"kind": "artifact",
"location": "https://github.com/microsoft/vcpkg-ce-c ... s/main.zip",
"name": "microsoft"
}
]
}
vcpkg.json
{
"dependencies": ["fmt"]
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... hout-cmake
Как вручную скомпилировать C++, который импортирует пакеты из vcpkg без cmake? ⇐ C++
Программы на C++. Форум разработчиков
1736122971
Anonymous
Я установил пакеты с помощью vcpkg install и попытался вручную скомпилировать простой проект C++, который импортировал fmt, установленный с помощью vcpkg, но получил следующую ошибку:
clang++ -std=c++17 -v -I./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt main.cc -o main
Ubuntu clang version 18.1.8 (11~20.04.2)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/lib/llvm-18/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir main- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cc -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/vagrant/helloworld -v -fcoverage-compilation-dir=/home/vagrant/helloworld -resource-dir /usr/lib/llvm-18/lib/clang/18 -I ./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /usr/lib/llvm-18/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++17 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -dwarf-debug-flags "/usr/lib/llvm-18/bin/clang --driver-mode=g++ -std=c++17 -v -I ./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt main.cc -o main -dumpdir main-" -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/main-b5c538.o -x c++ main.cc
clang -cc1 version 18.1.8 based upon LLVM 18.1.8 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include search starts here:
./vcpkg_installed/x64-linux/lib/pkgconfig/../../include
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward
/usr/lib/llvm-18/lib/clang/18/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/bin/ld" -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o main /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -L/usr/bin/../lib/gcc/x86_64-linux-gnu/10 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib -lfmt /tmp/main-b5c538.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib/gcc/x86_64-linux-gnu/10/crtendS.o /lib/x86_64-linux-gnu/crtn.o
/usr/bin/ld: /tmp/main-b5c538.o: in function `void fmt::v11::print(fmt::v11::basic_format_string)':
main.cc:(.text._ZN3fmt3v115printIJEEEvNS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOS4_[_ZN3fmt3v115printIJEEEvNS0_19basic_format_stringIcJDpNS0_13type_identityIT_E4typeEEEEDpOS4_]+0xee): undefined reference to `fmt::v11::vprint(fmt::v11::basic_string_view, fmt::v11::basic_format_args)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:8: build] Error 1
Я использовал выходные данные pkg-config в качестве флагов компилятора (как показано в Makefile), но у clang возникли проблемы с поиском fmt...$ PKG_CONFIG_PATH=./vcpkg_installed/x64-linux/lib/pkgconfig pkg-config --cflags --libs fmt
-I./vcpkg_installed/x64-linux/lib/pkgconfig/../../include -L./vcpkg_installed/x64-linux/lib/pkgconfig/../../lib -lfmt
$ tree .
.
├── Makefile
├── main.cc
├── vcpkg-configuration.json
├── vcpkg.json
└── vcpkg_installed
└── ...
Makefile
CC = clang++
PKG_CONFIG := $(shell PKG_CONFIG_PATH=./vcpkg_installed/x64-linux/lib/pkgconfig pkg-config --cflags --libs fmt)
CC_FLAGS = -std=c++17 -v $(PKG_CONFIG)
all: build
build:
$(CC) $(CC_FLAGS) main.cc -o main
clean:
rm main
main.cc
#include
int main() {
fmt::print("goodbye world\n");
return 0;
}
vcpkg-configuration.json
{
"default-registry": {
"kind": "git",
"baseline": "4b6c50d962cc20aaa3ef457f8ba683b586263cfb",
"repository": "https://github.com/microsoft/vcpkg"
},
"registries": [
{
"kind": "artifact",
"location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
"name": "microsoft"
}
]
}
vcpkg.json
{
"dependencies": ["fmt"]
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79331806/how-to-manually-compile-c-that-imports-packages-from-vcpkg-without-cmake[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия