Я пытаюсь создать программу под названием Mitsuba с ICC. Но когда я компилируюсь, я получаю много ошибок, говоря, что тип является неполным. Вот несколько примеров: < /p>
icc -o build/release/libcore/thread.os -c -O3 -Wall -g -pipe -O3 -ipo -no-prec-div -xSSE3 -fp-model fast=2 -openmp -mfpmath=sse -march=nocona -fno-math-errno -fomit-frame-pointer -DMTS_DEBUG -DSINGLE_PRECISION -DSPECTRUM_SAMPLES=3 -DMTS_SSE -DMTS_HAS_COHERENT_RT -fopenmp -fvisibility=hidden -std=c++0x -wd2928 -Qoption,cpp,--rvalue_ctor_is_not_copy_ctor -fPIC -DMTS_BUILD_MODULE=MTS_MODULE_CORE -DMTS_HAS_LIBPNG=1 -DMTS_HAS_LIBJPEG=1 -I/usr/include/OpenEXR -I/u/i/n/ingrassi/eigen -I/usr/include/OpenEXR -Iinclude src/libcore/thread.cpp
/usr/include/c++/4.4.7/bits/stl_deque.h(450): error: incomplete type is not allowed
_M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp)));
^
detected during:
instantiation of "void std::_Deque_base::_M_deallocate_node(_Tp *) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 553
instantiation of "void std::_Deque_base::_M_destroy_nodes(_Tp **, _Tp **) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 476
instantiation of "std::_Deque_base::~_Deque_base() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
/usr/include/c++/4.4.7/bits/stl_deque.h(1652): error: an incomplete class type is not allowed
if (!__has_trivial_destructor(value_type))
^
detected during:
instantiation of "void std::deque::_M_destroy_data(std::deque::iterator, std::deque::iterator, const std::allocator &) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
/usr/include/c++/4.4.7/bits/stl_deque.h(666): error: incomplete type is not allowed
{ return __deque_buf_size(sizeof(_Tp)); }
^
detected during:
instantiation of "size_t={unsigned long} std::deque::_S_buffer_size() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 728 of "/usr/include/c++/4.4.7/bits/deque.tcc"
instantiation of "void std::deque::_M_destroy_data_aux(std::deque::iterator, std::deque::iterator) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 1653
instantiation of "void std::deque::_M_destroy_data(std::deque::iterator, std::deque::iterator, const std::allocator &) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
< /code>
Я несколько новичок в шаблонах, но я думаю, что они говорят, что тип Boost :: fileystem3 :: Неполный путь. После проверки Boost /FileSystem /path.hpp, это не так.#include
#include
#include
#include
...
class MTS_EXPORT_CORE FileResolver : public Object {
...
private:
std::deque m_paths;
}
< /code>
Почему компиляция терпит неудачу, и как это исправить? < /p>
Подробнее здесь: https://stackoverflow.com/questions/273 ... plete-type
ICC думает Boost :: FileSystem3 :: Path - неполный тип ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1750599360
Anonymous
Я пытаюсь создать программу под названием Mitsuba с ICC. Но когда я компилируюсь, я получаю много ошибок, говоря, что тип является неполным. Вот несколько примеров: < /p>
icc -o build/release/libcore/thread.os -c -O3 -Wall -g -pipe -O3 -ipo -no-prec-div -xSSE3 -fp-model fast=2 -openmp -mfpmath=sse -march=nocona -fno-math-errno -fomit-frame-pointer -DMTS_DEBUG -DSINGLE_PRECISION -DSPECTRUM_SAMPLES=3 -DMTS_SSE -DMTS_HAS_COHERENT_RT -fopenmp -fvisibility=hidden -std=c++0x -wd2928 -Qoption,cpp,--rvalue_ctor_is_not_copy_ctor -fPIC -DMTS_BUILD_MODULE=MTS_MODULE_CORE -DMTS_HAS_LIBPNG=1 -DMTS_HAS_LIBJPEG=1 -I/usr/include/OpenEXR -I/u/i/n/ingrassi/eigen -I/usr/include/OpenEXR -Iinclude src/libcore/thread.cpp
/usr/include/c++/4.4.7/bits/stl_deque.h(450): error: incomplete type is not allowed
_M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp)));
^
detected during:
instantiation of "void std::_Deque_base::_M_deallocate_node(_Tp *) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 553
instantiation of "void std::_Deque_base::_M_destroy_nodes(_Tp **, _Tp **) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 476
instantiation of "std::_Deque_base::~_Deque_base() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
/usr/include/c++/4.4.7/bits/stl_deque.h(1652): error: an incomplete class type is not allowed
if (!__has_trivial_destructor(value_type))
^
detected during:
instantiation of "void std::deque::_M_destroy_data(std::deque::iterator, std::deque::iterator, const std::allocator &) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
/usr/include/c++/4.4.7/bits/stl_deque.h(666): error: incomplete type is not allowed
{ return __deque_buf_size(sizeof(_Tp)); }
^
detected during:
instantiation of "size_t={unsigned long} std::deque::_S_buffer_size() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 728 of "/usr/include/c++/4.4.7/bits/deque.tcc"
instantiation of "void std::deque::_M_destroy_data_aux(std::deque::iterator, std::deque::iterator) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 1653
instantiation of "void std::deque::_M_destroy_data(std::deque::iterator, std::deque::iterator, const std::allocator &) [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 790
instantiation of "std::deque::~deque() [with _Tp=boost::filesystem3::path, _Alloc=std::allocator]" at line 97 of "include/mitsuba/core/fresolver.h"
< /code>
Я несколько новичок в шаблонах, но я думаю, что они говорят, что тип Boost :: fileystem3 :: Неполный путь. После проверки Boost /FileSystem /path.hpp, это не так.#include
#include
#include
#include
...
class MTS_EXPORT_CORE FileResolver : public Object {
...
private:
std::deque m_paths;
}
< /code>
Почему компиляция терпит неудачу, и как это исправить? < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/27350753/icc-thinks-boostfilesystem3path-is-an-incomplete-type[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия