Я пытаюсь использовать Bazel для создания приложения, которое создает изображение и использует libjpeg-turbo для сохранения изображения в формате JPEG.
Я пытаюсь использовать bzlmod для добавления зависимости libjpeg_turbo из центрального репозитория Bazel (BCR) (https://registry.bazel.build/modules/libjpeg_turbo).
Однако, когда я пытаюсь собрать приложение, оно компилируется, но связывание завершается неудачей.
Команда сборки Bazel:
bazel build //turbojpeg:example
Вывод Bazel (с подробными ошибками):
INFO: Analyzed target //turbojpeg:example (0 packages loaded, 0 targets configured).
ERROR: /Users/valmiki/Dev/temp2/turbojpeg/BUILD:1:11: Linking turbojpeg/example failed: (Exit 1): cc_wrapper.sh failed: error executing CppLink command (from target //turbojpeg:example)
(cd /private/var/tmp/_bazel_valmiki/5b36295262302c6db5034bbaa6b2e19e/sandbox/darwin-sandbox/109/execroot/_main && \
exec env - \
PATH=/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin \
PWD=/proc/self/cwd \
ZERO_AR_DATE=1 \
external/rules_cc++cc_configure_extension+local_config_cc/cc_wrapper.sh @bazel-out/darwin_x86_64-fastbuild/bin/turbojpeg/example-0.params)
# Configuration: f06750ad0b682d6970d3e24c6fed89083321415d232b01d47b513459df0dedb1
# Execution platform: @@platforms//host:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Undefined symbols for architecture x86_64:
"_tjCompress2", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjDestroy", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjFree", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjGetErrorStr", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjInitCompress", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Target //turbojpeg:example failed to build
INFO: Elapsed time: 0.333s, Critical Path: 0.22s
INFO: 2 processes: 1 action cache hit, 2 internal.
ERROR: Build did NOT complete successfully
Версия Bazel: 8.4.2-homebrew
ОС: Macos 15.6.1
Языковая версия:MODULE.bazel содержимое файла:
module(name = "example", version="0.1")
# -- bazel_dep definitions -- #
bazel_dep(name = "libjpeg_turbo", version = "3.1.2")
turbojpeg/BUILD содержимое файла:
cc_binary (
name = "example",
srcs = ["example.cpp"],
deps = ["@libjpeg_turbo//:jpeg"],
)
example.cpp содержимое файла:
#include
#include
#include
#include
// Function to compress a raw image to JPEG
bool compressImage(const unsigned char* rgb_buffer, int width, int height,
int pixelFormat, int quality, std::vector& jpeg_buffer) {
tjhandle compressor = tjInitCompress();
if (!compressor) {
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/797 ... ency-in-my
Как мне использовать модуль libjpeg_turbo, находящийся в BCR, в качестве зависимости в моей сборке? Он компилируется, но ⇐ C++
Программы на C++. Форум разработчиков
1761989906
Anonymous
Я пытаюсь использовать Bazel для создания приложения, которое создает изображение и использует libjpeg-turbo для сохранения изображения в формате JPEG.
Я пытаюсь использовать bzlmod для добавления зависимости libjpeg_turbo из центрального репозитория Bazel (BCR) (https://registry.bazel.build/modules/libjpeg_turbo).
Однако, когда я пытаюсь собрать приложение, оно компилируется, но связывание завершается неудачей.
Команда сборки Bazel:
bazel build //turbojpeg:example
Вывод Bazel (с подробными ошибками):
INFO: Analyzed target //turbojpeg:example (0 packages loaded, 0 targets configured).
ERROR: /Users/valmiki/Dev/temp2/turbojpeg/BUILD:1:11: Linking turbojpeg/example failed: (Exit 1): cc_wrapper.sh failed: error executing CppLink command (from target //turbojpeg:example)
(cd /private/var/tmp/_bazel_valmiki/5b36295262302c6db5034bbaa6b2e19e/sandbox/darwin-sandbox/109/execroot/_main && \
exec env - \
PATH=/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin \
PWD=/proc/self/cwd \
ZERO_AR_DATE=1 \
external/rules_cc++cc_configure_extension+local_config_cc/cc_wrapper.sh @bazel-out/darwin_x86_64-fastbuild/bin/turbojpeg/example-0.params)
# Configuration: f06750ad0b682d6970d3e24c6fed89083321415d232b01d47b513459df0dedb1
# Execution platform: @@platforms//host:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Undefined symbols for architecture x86_64:
"_tjCompress2", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjDestroy", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjFree", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjGetErrorStr", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
"_tjInitCompress", referenced from:
compressImage(unsigned char const*, int, int, int, int, std::__1::vector&) in example.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Target //turbojpeg:example failed to build
INFO: Elapsed time: 0.333s, Critical Path: 0.22s
INFO: 2 processes: 1 action cache hit, 2 internal.
ERROR: Build did NOT complete successfully
Версия Bazel: 8.4.2-homebrew
ОС: Macos 15.6.1
Языковая версия:MODULE.bazel содержимое файла:
module(name = "example", version="0.1")
# -- bazel_dep definitions -- #
bazel_dep(name = "libjpeg_turbo", version = "3.1.2")
turbojpeg/BUILD содержимое файла:
cc_binary (
name = "example",
srcs = ["example.cpp"],
deps = ["@libjpeg_turbo//:jpeg"],
)
example.cpp содержимое файла:
#include
#include
#include
#include
// Function to compress a raw image to JPEG
bool compressImage(const unsigned char* rgb_buffer, int width, int height,
int pixelFormat, int quality, std::vector& jpeg_buffer) {
tjhandle compressor = tjInitCompress();
if (!compressor) {
std::cerr
Подробнее здесь: [url]https://stackoverflow.com/questions/79794074/how-do-i-use-the-libjpeg-turbo-module-that-is-in-the-bcr-as-a-dependency-in-my[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия