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

Неразрешенный внешний символ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ссылки на временные объекты http://www.cyberforum.ru/cpp-beginners/thread1498397.html
Здравствуйте! В процессе экспериментов с С++ появились некоторые непонятки. Рассмотрим код: #include <iostream> using namespace std; int& Func() {int a = 104; return a;} int main()
C++ Передача члена структуры в функцию Здравствуйте. Столкнулся с проблемой и не могу найти ее решение. есть структура: #ifndef STRUCTSCAN_H #define STRUCTSCAN_H struct sScaner{ char cModel; int iPrice; http://www.cyberforum.ru/cpp-beginners/thread1498386.html
Компиляция GLUT C++
Установил библиотеку glut, по началу вроде все нормально, но при компиляции потребовало opengl.dll, скачал я ему opengl.dll, потом "HfxClasses45.dll" , ладно скачал и его, а потом посыпались библиотечки ipl.dll и так далее. Подскажите , что делать в данной ситуации?
C++ Словарь с терминами по с (тип, объект, значение, переменная, и т.д. )
Нужен словарь с терминами по с++, такие как тип, объект, значение, переменная, и т.д. Путаюсь при чтении книги. Желательно с примерами, ибо такое как определение: "Значение - набор битов в памяти, интерпретируемый в соответствии с типом" вызывает взрыв мозгов.
C++ Удаление элемента из бинарного дерева http://www.cyberforum.ru/cpp-beginners/thread1498374.html
Ругается компилятор в Visual Studio при выполнении кода удаления элемента, а именно в том месте, где нужно удалить элемент с двумя дочерними элементами( в четвертом условии). Ошибка такая: "Unhandled exception at 0x0015483B in BinaryTree.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x001C2FFC)." Что исправить? Код: Tree* DeleteNode(Tree* node, int ch) { /*Если удаляемый элемент...
C++ ошибка Run-Time Check Failure #2 под конец програмки освобождал память и ошибка пропадала но происходило аварийное завершение ( подскажите где проблема . class publication { protected: string name; float price; public: publication() :name("N/A"), price(0.0) подробнее

Показать сообщение отдельно
Regencul
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 16

Неразрешенный внешний символ - C++

13.07.2015, 22:00. Просмотров 434. Ответов 8
Метки (Все метки)

Здравствуйте! Недавно скачала библиотеку DocxFactory и решила, собственно, использовать ее в одном из проектов. В общем, путь к либе прописала, добавила в проект два новых класса - WordProcessingCompiler и WordProcessingMerger, которые нужны для работы. Все, вроде бы, корректно. Но при компиляции возникает аж 50 ошибок вида:
"WordProcessingCompiler.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: virtual __thiscall DocxFactory::WordProcessingCompiler::~WordProcessingCompiler(void)" (??1WordProcessingCompiler@DocxFactory@@UAE@XZ) в функции "public: virtual void * __thiscall DocxFactory::WordProcessingCompiler::`scalar deleting destructor'(unsigned int)" (??_GWordProcessingCompiler@DocxFactory@@UAEPAXI@Z)"
И так для каждой функции двух добавленных классов.
Ошибка такая возникает, насколько мне известно, когда опишешь прототип функции, но не реализуешь ее. Но тут-то все реализовано, и в чем же дело, никак не могу понять.
К примеру, вот заголовочный файл WordProcessingCompiler:
C++
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
#ifndef __DOCXFACTORY_WORD_PROCESSING_COMPILER_H__
#define __DOCXFACTORY_WORD_PROCESSING_COMPILER_H__
 
#include <string>
 
namespace DocxFactory
{
    using namespace std;
 
    class WordProcessingCompiler
    {
    public:
        static WordProcessingCompiler& getInstance();
        virtual ~WordProcessingCompiler();
 
        void compile(const string& p_srcFileName, const string& p_dstFileName );
 
        // os functions
        void setTempDir();
        void setTempDir( const string& p_dir );
 
        string getWorkDir() const;
        string getTempDir() const;
 
    protected:
 
    private:
        WordProcessingCompiler();
        WordProcessingCompiler( const WordProcessingCompiler& p_other );
        WordProcessingCompiler& operator = ( const WordProcessingCompiler& p_other );
 
    };
};
 
#endif
Вот реализация:
C++
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
#include "stdafx.h"
#include "WordProcessingCompiler.h"
#include "dfwc.h"
#include <stdexcept>
 
using namespace DocxFactory;
using namespace std;
 
 
 
WordProcessingCompiler& WordProcessingCompiler::getInstance()
{
    static WordProcessingCompiler s_instance;
    return s_instance;
} // getInstance
 
WordProcessingCompiler::WordProcessingCompiler()
{
 
} // c'tor
 
 
void WordProcessingCompiler::compile( const string& p_srcFileName, const string& p_dstFileName )
{
    dfwc_compile( p_srcFileName.c_str(), p_dstFileName.c_str() );
 
    if ( dfwc_getErrorFlag() )
        throw runtime_error( dfwc_getErrorWhat() );
} // compile
 
 
 
// os functions
void WordProcessingCompiler::setTempDir()
{
    dfwc_setTempDir( "" );
 
    if ( dfwc_getErrorFlag() )
        throw runtime_error( dfwc_getErrorWhat() );
} // setTempDir()
 
void WordProcessingCompiler::setTempDir( const string& p_dir )
{
    dfwc_setTempDir( p_dir.c_str() );
 
    if ( dfwc_getErrorFlag() )
        throw runtime_error( dfwc_getErrorWhat() );
} // setTempDir
 
string WordProcessingCompiler::getWorkDir() const
{
    return dfwc_getWorkDir();
} // getWorkDir
 
string WordProcessingCompiler::getTempDir() const
{
    return dfwc_getTempDir();
} // getTempDir
А вот main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "WordProcessingCompiler.h"  
#include <exception>
#include <iostream>
#include <ctime>  
 
using namespace DocxFactory;
using namespace std;
 
int main() {
    try  {
        WordProcessingCompiler& l_compiler = WordProcessingCompiler::getInstance();
        time_t l_start = clock();
        l_compiler.compile("/opt/DocxFactory/exercises/templates/top_level_items.docx", "/opt/DocxFactory/exercises/templates/top_level_items.dfw");
        cout << "Completed (in " << (double)(clock() - l_start) / CLOCKS_PER_SEC << " seconds)." << endl;
    }
    catch (const exception& p_exception)  { cout << p_exception.what() << endl; }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru