информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеГде водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Ошибка линкования в Билдере 6.0 03.09.03 23:55  
Автор: Fantom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Ситуация такова:
Пишу под консольным приложением CGI - скрипт, компилиться нормально, а при линкованиии начинает материться нижеследующими словами:
[Linker Error] Unresolved external 'fmakeword(std::FILE *, char, int *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
[Linker Error] Unresolved external 'plustospace(char *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
[Linker Error] Unresolved external 'unescape_url(char *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
[Linker Error] Unresolved external 'makeword(char *, char)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ

---

ниже приведены включенные хидеры, и код на который материться линкер:
#include <stdlib.h>
#ifndef NO_STDLIB_H
#include <iostream.h>
#endif
#define MAX_ENTRIES 10000

---
char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop, int *len);
char x2c(char *what);
void unescape_url(char *url);
void plustospace(char *str);

---

Пожулуйста скажите че ни так а? я ведь не волшебник я только учусь, а учусь естественно на ЧУЖИХ исходниках :))
[C++] Попробуй следущее... 05.09.03 14:21  
Автор: CrazyPitbull Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Опыт работе с билдой у меня большой, иногда уменя вылетали и ещё покруче ошибки... Я долго в них капался и немог найти. Однажды я разозлился на это всё дело, убил всё обжи(*,obj) и нажал rebuild all project. О чудо у меня исчезли все эти ошибки и программа запахала. Я это к тому, что в результате частого компилирования иногда обжи заполняются всякой*** поэтому лугче их убить и всё заново сбилдить.
[C++] Если есть iostream, то это скорее всего CPP 04.09.03 12:12  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> ниже приведены включенные хидеры, и код на который
> материться линкер:
>
> #include <stdlib.h>
> #ifndef NO_STDLIB_H
> #include <iostream.h>
> #endif
> #define MAX_ENTRIES 10000
> 

---

Попробуй сделать так
#ifdef __cplusplus
extern "C" {
#endif

char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop, int *len);
char x2c(char *what);
void unescape_url(char *url);
void plustospace(char *str);

#ifdef __cplusplus
}
#endif

---

> Пожулуйста скажите че ни так а? я ведь не волшебник я
> только учусь, а учусь естественно на ЧУЖИХ исходниках :))
[C++] Эк ты загнул %-) 04.09.03 16:17  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Сразу надо было выяснять, где находятся определения функций :) Почти наверняка просто нужный объектник не линкуется.
[C++] Гы. Ну я думал, человек хотя бы понимает что делает 04.09.03 16:45  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
И лично у меня в начале освоения C/CPP были случаи когда я подключал один и тот же хедер и из кода C и из кода CPP, причем объявления не были защищены условным extern "C". Вот и написал первое что пришло в голову
[C++] Если есть iostream, то это скорее всего CPP 04.09.03 13:36  
Автор: Fantom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Нет не помогло хотя ошибки поменялись на следующие:
[Linker Error] Unresolved external '_fmakeword' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
  [Linker Error] Unresolved external '_plustospace' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
  [Linker Error] Unresolved external '_unescape_url' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ
  [Linker Error] Unresolved external '_makeword' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\CGI3\UNIT1.OBJ

---
[C++] А ты уверен, что эти функции у тебя *определены* 04.09.03 14:27  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Потому как то, что ты привел, это всего лишьобъявление
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach