информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach