Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
1

Что за ошибка

13.06.2013, 22:27. Показов 936. Ответов 11
Метки нет (Все метки)

Добрый день... Пишу программку считывания изображения из .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)...

Где туплю??
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Что за ошибка   Что за ошибка   Что за ошибка  

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 22:27
Ответы с готовыми решениями:

Что это за ошибка, когда маткад не понимает, что такое у
Помогите плиз не понимаю что за ошибка маткад не понимает что такое у

Подскажите, что не правильно: компилятор пишет, что ошибка есть
Подскажите, что не правильно: компилятор пишет, что ошибка естьprogram name; var...

Что такое перегрузка оператора? Что у меня в коде за ошибка?
Что же я написал?? Что оно не компилится? Что значит error C2275: Superclass: недопустимое...

Ошибка компилятора. Что сделать, что бы среда работала?
http://i064.***********/1210/33/00be8b0c26e9t.jpg Что сделать что бы среда работала нормально?

11
Эксперт С++
4974 / 3081 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
13.06.2013, 23:20 2
Проблема в подключении библиотек.
Не знаю как это делается в MSVS, но возможно ты подключил статические либы заместо динамических...
0
6013 / 2134 / 743
Регистрация: 10.12.2010
Сообщений: 5,977
Записей в блоге: 3
13.06.2013, 23:34 3
Цитата Сообщение от NativeLand Посмотреть сообщение
В линки добавил библиотеки (.lib)
Цитата Сообщение от lazybiz Посмотреть сообщение
ты подключил статические либы заместо динамических
А как можно таким образом подключить динамические библиотеки? Другой вопрос, если речь идет о библиотеках импорта. Да и имена в библиотеке импорта и статической не должны по идее иметь различий...

NativeLand, вы уверены, что какую-то одну не забыли?
0
Эксперт С++
4974 / 3081 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
13.06.2013, 23:40 4
Цитата Сообщение от HighPredator Посмотреть сообщение
А как можно таким образом подключить динамические библиотеки?
В MinGW это делается так:
статическая: -lx264
динамическая: -lx264.dll

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

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

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

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

Добавлено через 2 минуты
У него имена отсутствующих функций начинаются с "_imp", это означает что его программа требует динамическую библиотеку.
У меня .lib ... dll не видел вовсе там
0
6013 / 2134 / 743
Регистрация: 10.12.2010
Сообщений: 5,977
Записей в блоге: 3
13.06.2013, 23:47 6

Не по теме:

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


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

Не по теме:


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


Есть еще вероятность, что библиотека не совместима.
там есть консольные тулкиты, которые работают на этих библиотеках... Несовместимость библиотек с codeblock's или с ОС или с чем?
0
6013 / 2134 / 743
Регистрация: 10.12.2010
Сообщений: 5,977
Записей в блоге: 3
13.06.2013, 23:59 8
Имеется ввиду несовместимость библиотеки с вашим компилятором. Описаны случаи несовместимости *lib от MSVS с MinGW, от MSVS с борландовскими. У вас какой стоит?
0
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 00:15  [ТС] 9
Цитата Сообщение от HighPredator Посмотреть сообщение
Имеется ввиду несовместимость библиотеки с вашим компилятором. Описаны случаи несовместимости *lib от MSVS с MinGW, от MSVS с борландовскими. У вас какой стоит?
GNU GCC Compiler... ПОпробовать на MSVS 10?
0
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 02:26  [ТС] 10
Попробовал в MSVS .. добавил через #pragma все библиотеки (я так понял, что поместить в папку с проектом и в спп самого проекта их прописать) и все хедеры ...
Код скомпилировался и даже создал ехе файл ... Но вылетела куча вот таких вот ошибок .. (рисунок)... Они критичны или нет? (исходя из своего небольшого опыта .. иногда вылетает овер 2000 ошибок, но результаты алгоритмов правильные ...)
0
Миниатюры
Что за ошибка  
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
14.06.2013, 02:40 11
NativeLand, нормально всё. PDB файл не обязателен.
0
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
14.06.2013, 15:59  [ТС] 12
А подскажите как эти библиотеки переделать под другой компилятор, кроме MSVS 10 .. скажем для MinGW (т.к. графическую оболочку решил попробовать написать на Qt)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2013, 15:59

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка 678:удаленный компьютер не отвечает.что это?что нужно сделать чтобы работало?
ЧТО ЭТО?КАК С ЭТИМ БОРОТЬСЯ?

Ошибка CL.exe завершилась с кодом 2 Что это за ошибка и как исправить?
Ошибка появилась, но не могу понять как ее исправить. #include &lt;iostream&gt; using namespace...

Ошибка MEM.ALL ERR: hMem08 - что это за ошибка?
В моём проекте спустя часа 2-3 появляется вылазит ошибка вида: MEM.ALL ERR: hMem08 = 7AB7608,...

Коллеги!В чем ошибка понятие не имею, что-то упускаю, но не знаю что. Кто-то гвоорил делать через счетчик, только
Вивести числа следующим образом: 25 25.5 24.8 26 26.5 25.8 …...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.