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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
#1

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

13.06.2013, 22:27. Просмотров 745. Ответов 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
Миниатюры
Что за ошибка   Что за ошибка   Что за ошибка  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что за ошибка (C++):

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

Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то - C++
Даже не знаю как сказать... короче есть база а Access,которую я подключил к проекту MFC,и в этой базе всего одно поле с текстовым типом...

что за ошибка? - C++
вот програма #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using std::cout; using std::endl; class GradeBook { public: void...

что за ошибка??? - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; #include &lt;D:\\alex\\head-files\\mathem.h&gt; #include...

Что за ошибка? - C++
Люди помогите разобраться что я делаю не так. Ниже принтскрин. Массив lot содержит символы &quot;0.2&quot;

что за ошибка? - C++
вот прога#include&lt;iostream.h&gt; main() { int i; struct str { char *fn; int cl; int sc; }; str st;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
13.06.2013, 23:20 #2
Проблема в подключении библиотек.
Не знаю как это делается в MSVS, но возможно ты подключил статические либы заместо динамических...
0
HighPredator
5534 / 1848 / 345
Регистрация: 10.12.2010
Сообщений: 5,455
Записей в блоге: 2
13.06.2013, 23:34 #3
Цитата Сообщение от NativeLand Посмотреть сообщение
В линки добавил библиотеки (.lib)
Цитата Сообщение от lazybiz Посмотреть сообщение
ты подключил статические либы заместо динамических
А как можно таким образом подключить динамические библиотеки? Другой вопрос, если речь идет о библиотеках импорта. Да и имена в библиотеке импорта и статической не должны по идее иметь различий...

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

Добавлено через 2 минуты
Цитата Сообщение от HighPredator Посмотреть сообщение
Да и имена в библиотеке импорта и статической не должны по идее иметь различий...
У него имена отсутствующих функций начинаются с "_imp", это означает что его программа требует динамическую библиотеку.
0
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 не видел вовсе там
0
HighPredator
5534 / 1848 / 345
Регистрация: 10.12.2010
Сообщений: 5,455
Записей в блоге: 2
13.06.2013, 23:47 #6

Не по теме:

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


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

Не по теме:


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


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

что за ошибка? - C++
error trk0002: файл: tracker

Что за ошибка? - C++
Вроде все правильно #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; using namespace std; ...

Что за ошибка??? - C++
помогите доделать код #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cmath&gt; #include &lt;ctime&gt; #include &lt;algorithm&gt; using...

что за ошибка? - C++
1&gt;mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file &quot;..\Debug\123.exe&quot;. @&gt;F5AA =5 &lt;&gt;65B...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.06.2013, 15:59
Ответ Создать тему
Опции темы

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