Форум программистов, компьютерный форум CyberForum.ru

Что за ошибка - C++

Восстановить пароль Регистрация
 
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
13.06.2013, 22:27     Что за ошибка #1
Добрый день... Пишу программку считывания изображения из .dcm формата... В первый раз использую чужие библиотеки...
Решил протестить их пример:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "gdcmImageReader.h"
#include "gdcmImageWriter.h"
#include "gdcmImage.h"
#include "gdcmPhotometricInterpretation.h"
 
#include <iostream>
 
int main(int argc, char *argv[])
{
  if( argc < 3 )
    {
    std::cerr << argv[0] << " input.dcm output.dcm" << std::endl;
    return 1;
    }
  const char *filename = argv[1];
  const char *outfilename = argv[2];
 
  // Instanciate the image reader:
  gdcm::ImageReader reader;
  reader.SetFileName( filename );
  if( !reader.Read() )
    {
    std::cerr << "Could not read: " << filename << std::endl;
    return 1;
    }
  // If we reach here, we know for sure 2 things:
  // 1. It is a valid DICOM
  // 2. And it contains an Image !
 
  // The output of superclass gdcm::Reader is a gdcm::File
  //gdcm::File &file = reader.GetFile();
 
  // The other output of gdcm::ImageReader is a gdcm::Image
  const gdcm::Image &image = reader.GetImage();
 
  // Let's get some property from the image:
  unsigned int ndim = image.GetNumberOfDimensions();
  // Dimensions of the image:
  const unsigned int *dims = image.GetDimensions();
  // Origin
  const double *origin = image.GetOrigin();
  const gdcm::PhotometricInterpretation &pi = image.GetPhotometricInterpretation();
  for(unsigned int i = 0; i < ndim; ++i)
    {
    std::cout << "Dim(" << i << "): " << dims[i] << std::endl;
    }
  for(unsigned int i = 0; i < ndim; ++i)
    {
    std::cout << "Origin(" << i << "): " << origin[i] << std::endl;
    }
  std::cout << "PhotometricInterpretation: " << pi << std::endl;
 
  // Write the modified DataSet back to disk
  gdcm::ImageWriter writer;
  writer.SetImage( image );
  writer.SetFileName( outfilename );
  //writer.SetFile( file ); // We purposely NOT copy the meta information from the input
                            // file, and instead only pass the image
  if( !writer.Write() )
    {
    std::cerr << "Could not write: " << outfilename << std::endl;
    return 1;
    }
 
  return 0;
}
В линки добавил библиотеки (.lib) и скопировал все хедеры в файл с проектом.
И вылетают ошибки (рисунок 3)...
Везде читал примеры подключения библиотек .. так там совпадали названия хедеров и библиотек .. а тут в разнобой (рисунок 1 и 2)...

Где туплю??
Миниатюры
Что за ошибка   Что за ошибка   Что за ошибка  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 22:27     Что за ошибка
Посмотрите здесь:

что за ошибка? C++
Что за ошибка??? C++
C++ что за ошибка?
Что за ошибка? C++
Что за ошибка? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
13.06.2013, 23:20     Что за ошибка #2
Проблема в подключении библиотек.
Не знаю как это делается в MSVS, но возможно ты подключил статические либы заместо динамических...
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
13.06.2013, 23:34     Что за ошибка #3
Цитата Сообщение от NativeLand Посмотреть сообщение
В линки добавил библиотеки (.lib)
Цитата Сообщение от lazybiz Посмотреть сообщение
ты подключил статические либы заместо динамических
А как можно таким образом подключить динамические библиотеки? Другой вопрос, если речь идет о библиотеках импорта. Да и имена в библиотеке импорта и статической не должны по идее иметь различий...

NativeLand, вы уверены, что какую-то одну не забыли?
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
13.06.2013, 23:40     Что за ошибка #4
Цитата Сообщение от HighPredator Посмотреть сообщение
А как можно таким образом подключить динамические библиотеки?
В MinGW это делается так:
статическая: -lx264
динамическая: -lx264.dll

Добавлено через 2 минуты
Цитата Сообщение от HighPredator Посмотреть сообщение
Да и имена в библиотеке импорта и статической не должны по идее иметь различий...
У него имена отсутствующих функций начинаются с "_imp", это означает что его программа требует динамическую библиотеку.
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
13.06.2013, 23:46  [ТС]     Что за ошибка #5
Цитата Сообщение от HighPredator Посмотреть сообщение
А как можно таким образом подключить динамические библиотеки? Другой вопрос, если речь идет о библиотеках импорта. Да и имена в библиотеке импорта и статической не должны по идее иметь различий...

NativeLand, вы уверены, что какую-то одну не забыли?
Да подключил в линки все .. и хедеры в папку все кинул... Библиотеки были зашиты все в 1-м exe файле: http://gdcm.sourceforge.net/wiki/ind...ng_GDCM_2.0.11

Подключаю в codeblocks ... не MSVS
Все мб .. но в projects->build_options->linkers ... добавил все, что при установке кинуло в lib-папку(рисунок 2), а папку с хедерами - перенес все содержимое ...

Добавлено через 1 минуту
Цитата Сообщение от lazybiz Посмотреть сообщение
В MinGW это делается так:
статическая: -lx264
динамическая: -lx264.dll

Добавлено через 2 минуты
У него имена отсутствующих функций начинаются с "_imp", это означает что его программа требует динамическую библиотеку.
У меня .lib ... dll не видел вовсе там
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
13.06.2013, 23:47     Что за ошибка #6

Не по теме:

Цитата Сообщение от lazybiz Посмотреть сообщение
имена отсутствующих функций начинаются с "_imp", это означает что его программа требует динамическую библиотеку
Я бы выразился чуть по-другому. Это значит, что в секции импорта нет соответствующего описания такой функции. Но не суть.


Есть еще вероятность, что библиотека не совместима.
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
13.06.2013, 23:51  [ТС]     Что за ошибка #7
Цитата Сообщение от HighPredator Посмотреть сообщение

Не по теме:


Я бы выразился чуть по-другому. Это значит, что в секции импорта нет соответствующего описания такой функции. Но не суть.


Есть еще вероятность, что библиотека не совместима.
там есть консольные тулкиты, которые работают на этих библиотеках... Несовместимость библиотек с codeblock's или с ОС или с чем?
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
13.06.2013, 23:59     Что за ошибка #8
Имеется ввиду несовместимость библиотеки с вашим компилятором. Описаны случаи несовместимости *lib от MSVS с MinGW, от MSVS с борландовскими. У вас какой стоит?
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 00:15  [ТС]     Что за ошибка #9
Цитата Сообщение от HighPredator Посмотреть сообщение
Имеется ввиду несовместимость библиотеки с вашим компилятором. Описаны случаи несовместимости *lib от MSVS с MinGW, от MSVS с борландовскими. У вас какой стоит?
GNU GCC Compiler... ПОпробовать на MSVS 10?
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 02:26  [ТС]     Что за ошибка #10
Попробовал в MSVS .. добавил через #pragma все библиотеки (я так понял, что поместить в папку с проектом и в спп самого проекта их прописать) и все хедеры ...
Код скомпилировался и даже создал ехе файл ... Но вылетела куча вот таких вот ошибок .. (рисунок)... Они критичны или нет? (исходя из своего небольшого опыта .. иногда вылетает овер 2000 ошибок, но результаты алгоритмов правильные ...)
Миниатюры
Что за ошибка  
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
14.06.2013, 02:40     Что за ошибка #11
NativeLand, нормально всё. PDB файл не обязателен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 15:59     Что за ошибка
Еще ссылки по теме:

Что за ошибка? C++
C++ Что за ошибка ?
Что за ошибка ?! C++

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

Или воспользуйтесь поиском по форуму:
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 15:59  [ТС]     Что за ошибка #12
А подскажите как эти библиотеки переделать под другой компилятор, кроме MSVS 10 .. скажем для MinGW (т.к. графическую оболочку решил попробовать написать на Qt)
Yandex
Объявления
14.06.2013, 15:59     Что за ошибка
Ответ Создать тему
Опции темы

Текущее время: 13:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru