• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Cmake не видит Boost
xVersalx
Режиссёр
Cmake - 3.7.2 Win64
Boost 1.63.0

Сам эррор -


В переменных прописано BOOST_ROOT C:\local\boost_1_63_0 , BOOST_INCLUDEDIR C\local\boost_1_63_0 , BOOST_LIBRARYDIR C:\local\boost_1_63_0\libs

Сначала пробовал с Boost 1.59 , Обновил до 1.63 проблема остается.
Софт - Miscrosoft Visual Studio 2017 Community , в Cmake выбираю MS VS 2015 17

Пробовал дописывать
Код
# set boost-directory
set (ENV{BOOST_ROOT} "C:/boost_1_63_0")
В CMAKElists.txt
Не помогло

В чем может быть трабл в данном случае? Какие еще варианты?
Не сработало.

Используемый сорс - текущий тринити мастер.

Благодарен за любую помощь.
Сообщение # 1 отредактировано xVersalx - Четверг, 09.03.2017, 16:13
grasicco
Сержант
MVS 2014 для начала. С 15 может компилятор не увидеть.
1.59 могут быть траблы, 1.63 не подходит. . У меня зашла 1.62.
Так же проверь путь на пробелы, кирилицу и регист.
ну или на крайняк - битая либа.
Сообщение # 2 отредактировано grasicco - Четверг, 09.03.2017, 16:41
Explain
Капрал
В переменных системы пробни и в переменных системы и в переменных пользователя, если не в обоих местах указано, где-то читал, что это может быть причиной ошибки.
Сообщение # 3 отредактировано Explain - Четверг, 09.03.2017, 19:31
p620
Маршал
Цитата grasicco ()
MVS 2014 для начала.

А ничего, что такой как бы в природе не существует? Не говоря уже о том, что IDE к описываемой ТСом проблеме никакого отношения не имеет. Кроме того, с недавних пор TrinityCore, согласно вики, пользуется языковыми средствами C++14, которые поддерживаются только 2015 студией и выше. Конечно, можно поставить кастомный тулчейн, с IntelliSense'ом же будет гораздо больше веселья.
Цитата grasicco ()
регист

Первые два предположения еще могу понять, но это... Вы когда-нибудь пробовали заиметь два объекта в одной и той же директории с именами, отличающимися только регистром используемых символов?
Цитата Explain ()
В переменных системы пробни и в переменных системы и в переменных пользователя, если не в обоих местах указано, где-то читал, что это может быть причиной ошибки.

Это могло бы быть проблемой, не будь там предусмотрен способ ручного ввода. Сценарии действительно могут просматривать упомянутые Вами переменные в надежде определить местоположение библиотеки в системе автоматически.
xVersalx, в переменной запрашивается путь до директории с заголовками. Хотя я действительно встречал ситуации, когда этот путь совпадает с корнем библиотеки, на практике существенность различия определяется внутренней логикой работы конкретного сценария CMake, поставляемого с решением. В пакете Boost'а, который Вы получили, должна содержаться директория с этими самыми заголовками, обычно она имеет имя inc, include, includes. Посмотрите, есть ли такая у Вас и попробуйте прописать путь до ее содержимого. Отпишитесь о результате в случае, если проблема не будет устранена.
Сообщение # 4 отредактировано p620 - Четверг, 09.03.2017, 21:38
grasicco
Сержант
Цитата p620 ()
А ничего, что такой как бы в природе не существует? Не говоря уже о том, что IDE к описываемой ТСом проблеме никакого отношения не имеет.


Цитата p620 ()
Первые два предположения еще могу понять, но это... Вы когда-нибудь пробовали заиметь два объекта в одной и той же директории с именами, отличающимися только регистром используемых символов?

C:/Local/boost - в таком плане Бог не дает написать, или люди разучились ошибаться?
Сообщение # 5 написано 09.03.2017 в 21:36
p620
Маршал
grasicco, обратите еще раз внимание на то, что Вы написали. 2014 != 14, 2015 == 14.
Цитата grasicco ()
C:/Local/boost - в таком плане Бог не дает написать, или люди разучились ошибаться?

Вам придется как-нибудь перефразировать, если хотите, чтобы я Вас понял.
Сообщение # 6 написано 09.03.2017 в 21:43
grasicco
Сержант
Цитата p620 ()
Вам придется как-нибудь перефразировать, если хотите, чтобы я Вас понял.

Путь к буст в переменной C:\local\boost___
Можно по неаккуратности распаковать в C:\Local\boost___
От этого никто не застрахован, вот и предложил перепроверить.
Сообщение # 7 написано 09.03.2017 в 21:46
p620
Маршал
Цитата grasicco ()
Путь к буст в переменной C:\local\boost___Можно по неаккуратности распаковать в C:\Local\boost___

А, так это Вы просто не поняли, к чему там был сарказм. Так вот, нельзя иметь пути, отличающиеся только регистром. Т.е. с точки зрения того же проводника Local и local идентичны, иначе ошибок, подозреваю, было бы действительно много.
Сообщение # 8 написано 09.03.2017 в 21:49
grasicco
Сержант
Цитата p620 ()
А, так это Вы просто не поняли, к чему там был сарказм. Так вот, нельзя иметь пути, отличающиеся только регистром. Т.е. с точки зрения того же проводника Local и local идентичны, иначе ошибок, подозреваю, было бы действительно много.

Просто предложил вариант.
Когда столкнулся с проблемой ТС помогла переустановка либы с 1.59/1.61 на 1.62, где-то на буржуйских форумах вычитал, но тема была не про тринити.
Сообщение # 9 написано 09.03.2017 в 21:52
xVersalx
Режиссёр
Проблема решена.

Просто в
Цитата
C:\Users\Administrator\Downloads\TrinityCore-master\TrinityCore-master\dep\boost\CmakeLists.txt

Заменил
set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.0)
На
set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib64-msvc-14.0)

И все заработало.
Оставлю, может кому пригодится мой вариант решения.
Сообщение # 10 написано 11.03.2017 в 00:25
  • Страница 1 из 1
  • 1
Поиск: