Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
96 / 1 / 0
Регистрация: 04.10.2022
Сообщений: 41

Добавить Исходные файлы кроссплатформенной библиотеки в проект

17.03.2023, 13:10. Показов 1369. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь добавить Исходные файлы кроссплатформенной библиотеки типа SDL в проект напрямую минуя сборку ее в двоичные файлы.

Добавил, установил все необходимые define в определения препроцессора, но все равно появляются ошибки. Долго мучился, что же не так.

В какой то момент до меня кажется стало доходить, что я добавил в проект ВСЕ Исходные файлы, а значит, если я компилирую проект по Линукс, то в нем будут файлы по Windows, в которых будет include - только специфичных для Windows ее файлов и наоборот.

Правильно ли я понимаю, что нужно не только установить правильные define`ы для платформы, но еще и убрать лишние Исходные файлы не относящиеся к этой платформе ? И если да, то, как это сделать ? То есть, где взять информацию, что вот эти конкретные файлы относятся только в этой конкретно платформе ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2023, 13:10
Ответы с готовыми решениями:

Как добавить ссылки на исходные файлы библиотеки классов?
Как добавить ссылки на исходные файлы библиотеки классов? Есть проект, есть библиотека классов и её исходники. Всё работает, но не так, как...

Объединить исходные файлы в проект и скомпилировать
помогите пожалуйста, с реализацией, не получается объединить, подскажите как и что мне делать чтобы все получилось это program.cs ...

Как включить исходные и заголовочные файлы в проект? (Dev c++)
Решаю задачки из книги Р.Лафоре "Объектно-ориентированное программирование С++" Есть там пример с использованием консольной графики....

28
96 / 1 / 0
Регистрация: 04.10.2022
Сообщений: 41
17.03.2023, 17:57  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от eva2326 Посмотреть сообщение
Но, как я поняла, вы cmake не используете.
Как же тогда вы просто заменяете каталог с исходниками да так лихо, что изменения сразу отображаются в составе проекта?

Или вы на самом деле не просто подменяете каталог с исходниками, но ещё и потом вручную правите списки файлов, которые нужно компилировать?
Cmake я использую конечно.

Но вот с Lua и Zlib - я просто добавил папку исходного кода в сам проект в Visual Stuido - постаивл нужные дефайны, подключил хедеры и все, можно вызывать функции.
Ну да, если кол-во файлов изменилось, нужно будет сделать еще ctrl+C и ctrl+V еще в самой Visual Studio.
0
 Аватар для Azathtot
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
17.03.2023, 19:01
Цитата Сообщение от Lunar_ Посмотреть сообщение
Zlib - я просто добавил папку исходного кода
а zconf.h у вас появился "по волшебству"?
0
96 / 1 / 0
Регистрация: 04.10.2022
Сообщений: 41
17.03.2023, 19:55  [ТС]
Цитата Сообщение от Azathtot Посмотреть сообщение
а zconf.h у вас появился "по волшебству"?
Нет конечно ... по щучьему велению.
Что за вопрос ? zconf.h - есть в Исходниках.
0
 Аватар для Azathtot
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
17.03.2023, 20:33
Цитата Сообщение от Lunar_ Посмотреть сообщение
есть в Исходниках.
Вы не поверите... но нет.
Есть zconf.h.in, есть zconf.h.cmakein. Но zconf.h нет
Он генерится при кофигурации проекта под конктреную ОС/CPU. (По крайней мере в zlib-1.2.12).
Так же и с другими библиотеками.
Собственно одна из задач automake/cmake это и есть генерация файлов конфигурации под конкретную ОС/CPU
0
96 / 1 / 0
Регистрация: 04.10.2022
Сообщений: 41
17.03.2023, 21:02  [ТС]
Цитата Сообщение от Azathtot Посмотреть сообщение
Вы не поверите... но нет.
Есть zconf.h.in, есть zconf.h.cmakein. Но zconf.h нет
Он генерится при кофигурации проекта под конктреную ОС/CPU. (По крайней мере в zlib-1.2.12).
Так же и с другими библиотеками.
Собственно одна из задач automake/cmake это и есть генерация файлов конфигурации под конкретную ОС/CPU
Как это звучит забавно и глупо одновременно.

Если Вы хотите поговорить о Вере, то Вы обратились не к тому собеседнику, я не религиозен.
Еще раз повторю: zconf.h - есть в ИСХОДНЫХ файлах библиотеки.
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
17.03.2023, 23:13
Цитата Сообщение от Azathtot Посмотреть сообщение
Вы не поверите... но нет.
Прохладная история.
0
Модератор
Эксперт Java
 Аватар для alecss131
2894 / 1400 / 412
Регистрация: 11.08.2017
Сообщений: 4,482
Записей в блоге: 2
17.03.2023, 23:27
eva2326, Надо качать либу из офф источника, там указан он zlib.net. Так вот в том архиве этого файла нету, там только zconf.h.cmakein zconf.h.in и zconf.h.included которые должны обрабатываться системой сборки либо cmake либо autoconf
я если включаю zlib из исходников в проект (в каталоге libs/zlib), то делаю это так
Code
1
2
3
4
5
6
add_subdirectory(libs/zlib)
 
add_executable(${PROJECT_NAME} main.cpp)
 
target_include_directories(${PROJECT_NAME} PUBLIC libs/zlib ${CMAKE_CURRENT_BINARY_DIR}/libs/zlib)
target_link_libraries(${PROJECT_NAME} zlibstatic)
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
18.03.2023, 00:09
Цитата Сообщение от alecss131 Посмотреть сообщение
Надо качать либу из офф источника
С чего вы взяли своё "надо" ?

К тому же, ссылка на гитхаб указана на офф сайте.
Тобишь, гитхабовский репозиторий - это и есть офф. источник.
1
96 / 1 / 0
Регистрация: 04.10.2022
Сообщений: 41
18.03.2023, 00:11  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
eva2326, Надо качать либу из офф источника, там указан он zlib.net. Так вот в том архиве этого файла нету, там только zconf.h.cmakein zconf.h.in и zconf.h.included которые должны обрабатываться системой сборки либо cmake либо autoconf

История все еще настолько прохладная, насколько и забавная
zconf.h - это часть ИСХОДНЫХ файлов библиотеки zlib - откуда бы Вы ее не качали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2023, 00:11

Написание кроссплатформенной библиотеки на C++
Планируется написание кроссплатформенной библиотеки на C++ с возможностью подключения к C# для работы в Windows. В библиотеке будет...

Создание 100% кроссплатформенной библиотеки
Случилось несчастье - мне необходимо написать приложение на UWP. Разумеется, проектирую все по модели MVC. Тестировать и разрабатывать...

Добавить библиотеки Матлаб в проект в VS на С++
Хочу сделать вставку кода на С++ в Matlab, для этого я хочу создать mex-файл, для этого к проекту надо добавить матлабовские библиотеки, но...

Как добавить библиотеки DirectX в проект?
Здравствуйте. Имею Windows 10 и VS2017 Никак не могу добавить библиотеки DirectX в проект на C#. Подскажите, что надо сделать?

Как добавить библиотеки Google API в мой проект?
Сейчас пытаюсь сделать что-то с AdSense API, пока только запустил примеры с офсайта, и то - только как Java Project. Когда я импортировал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой Зрите в корень - монополизация на разработку программ. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru