Решил попробовать идти другим путём
- создать 2 проекта, в одном из которых будет общий файл с исходным кодом common.c и файл с исходным кодом project1.c, а другой проект будет ссылаться на этот common.c из первого проекта. Среда программирования - Eclipse CDT 3.3 (недавно вышла) + Cygwin (содержит gcc 3.4).
Создаю Project1, в нем папку Source_code.
Содержимое project1.c (в папке Source_code проекта Project1):
#include "common.c"
// ... вызовы commonfunction(...)
Содержимое common.c (в папке Source_code проекта Project1):
static возвращаемый_тип commonfunction(...) {
// операторы commonfunction
}
Создаю Project2, в нем папку Source_code.
Содержимое project2.c (в папке Source_code проекта Project2):
#include "common.c"
// ... вызовы commonfunction(...)
Ставлю ключ компиляции во втором проекте, чтобы видел общий файл
I: "../../Project1/Source_code"
Получаю предупреждение: commonfunction defined, but not used. Странно как-то, учитывая, что commonfunction использовалась и в project1.c, и в project2.c. Можно ли избавиться от этого предупреждения? Или программы с разделяемым общим кодом пишут не так?