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

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

Войти
Регистрация
Восстановить пароль
 
i7otep9wka
1 / 1 / 1
Регистрация: 13.12.2011
Сообщений: 81
#1

Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)') - C++

18.05.2014, 16:45. Просмотров 120. Ответов 2
Метки нет (Все метки)

Компилирую test:
Bash
1
g++ test.cpp -L. -lwrk -lboost_serialization -o programwrk -std=c++0x
Так же компилирую libwrk до компиляции test.

libwrk:
C++
1
2
3
4
5
6
7
8
9
10
11
void serialize_child(My_lab2::My_stack &stck,boost::interprocess::file_lock &flock){
    std::ofstream ofs ("serialized");
    //create archive
    if (flock.try_lock() == true) std::cout <<">>>child process GOT acess to file"<<std::endl;
    sleep(15);  
    boost::archive::text_oarchive oa(ofs);
    //write class stck instance to archive
    oa << stck;
    //boost::interprocess::file_lock funlock("serialized");
    flock.unlock(); 
    }
В хедере прототип есть. Хедер included в test.cpp и libwrk

test.cpp:
C++
1
2
3
4
5
6
if (fork()){
    serialize_child(stck,flock);
}else{
    serialize_parrent(stck,flock);
    deserialize(stck);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 16:45     Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)')
Посмотрите здесь:

C++ Изменение формата данных && работа с файлом
Ошибка [Linker error] undefined reference to `Triangulation::distPoints(tagPOINT&, tagPOINT&)' C++
C++ Классы && С++ Отложение объявление на потом
C++ Чем оператор || отличается от оператора && ?
[struct tm] или нестыковка в C89 & C++98 & C++11? C++
Почему в выражении нельзя использовать запятую вместо && C++
Boost & предстоящая компиляция C++
Undefined reference to Rhombus::Rhombus(std::istream &) C++
Allocator sts&boost C++
C++ Напишите цикл, эквивалентный приведенному выше циклу, не пользуясь операторами && и ||
C++ Strcpy_s выдает ошибку L Buffer is too small & & 0
C++ Вызвать функцию базового класса с ссылочным квалификатором &&

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6110 / 5713 / 1849
Регистрация: 18.12.2011
Сообщений: 14,590
Завершенные тесты: 1
18.05.2014, 17:24     Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)') #2
Оба файла должны быть включены в одну команду компиляции.
В VS это делается подключением обоих файлов к одному проекту.
Как сделать это из командной строки, к сожалению, не знаю.
i7otep9wka
1 / 1 / 1
Регистрация: 13.12.2011
Сообщений: 81
18.05.2014, 17:38  [ТС]     Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)') #3
так включены же:

Bash
1
g++ test.cpp -L. -lwrk -lboost_serialization -o programwrk -std=c++0x
1. test.cpp
2. -lwrk - моя библиотека
3. + #include "header.h" в библиотеке и test.cpp
Yandex
Объявления
18.05.2014, 17:38     Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)')
Ответ Создать тему
Опции темы

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