Я разработал визуальное решение Microsoft с двумя проектами консольных приложений.Я могу использовать библиотеку Eigen в одном проекте, просто объявив ее в свойствах следующим образом:
$ (ProjectDir) Eigen \ eigen3;
Я могу использовать библиотечные структурыкак "Eigen :: Vector3d" и т.д. без проблем.Теперь, когда я пытаюсь скопировать только заголовочную библиотеку во вторую папку проекта и пытаюсь установить то же свойство для второй, и использую структуру, я получаю ошибки компиляции.
Тогда, когда я не делаюскопируйте папку Eigen во вторую и просто попробуйте обратиться ко второй папке в первой, я получаю другой набор ошибок времени компиляции.
$ (SolutionDir) someproject1 \ Eigen \ eigen3;
Ошибки во втором случае выглядят так:
c: \ users \alam syed \ documents \ someproject2.h (11): ошибка C2653: 'Eigen': не является именем класса или пространства имен
c: \ users \ alam syed \ documents \ someproject2.h (11): ошибкаC2065: 'Vector3f': необъявленный идентификатор
c: \ users \ alam syed \ documents \ someproject2.h (11): ошибка C2923: 'std :: vector': 'Vector3f' не является допустимым типом шаблонааргумент для параметра '_Ty'
c: \ users \ alam syed \ documents \ someproject2.h (11): ошибка C2903: 'allocator': символ не является ни шаблоном класса, ни шаблоном функции
c: \ users \ alam syed \ documents \ someproject2.h (11): ошибка C3203: «распределитель»: шаблон неспециализированного класса нельзя использовать в качестве аргумента шаблона для параметра шаблона «_Alloc», ожидаемый реальный тип
Почему не нормально, чтобы два проекта в одном решении пытались независимо иметь свои собственные библиотеки в своем проекте?эрс?Далее, почему я не могу отослать папку Eigen от одного к первому?Наконец, как мы можем обойти эту причудливую / нестандартную проблему?