Ошибка, как вы уже догадались, из-за того, что компилятор не может найти файл заголовка png.h
Можете ли вы сказать мне, как интегрируется фреймворк?Используете ли вы -I и -L?
Правильный синтаксис для включения фреймворка с GCC:
gcc -F * dir *
или
gcc -iframework * dir *
Надеюсь, что это поможет
С http://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html
-Fdir Добавить каталог директории фреймворка dir в начало списка каталогов для поисказаголовочные файлы.Эти каталоги чередуются с указанными опциями -I и сканируются в порядке слева направо.
A framework directory is a directory with frameworks in it. A framework is a directory with a Headers and/or PrivateHeaders directory contained directly in it that ends in .framework. The name of a framework is the name of this directory excluding the .framework. Headers associated with the framework are found in one of those two directories, with Headers being searched first. A subframework is a framework directory that is in a framework's Frameworks directory. Includes of subframework headers can only appear in a header of a framework that contains the subframework, or in a sibling subframework header. Two subframeworks are siblings if they occur in the same framework. A subframework should not have the same name as a framework, a warning will be issued if this is violated. Currently a subframework cannot have subframeworks, in the future, the mechanism may be extended to support this. The standard frameworks can be found in /System/Library/Frameworks and /Library/Frameworks. An example include looks like #include <Framework/header.h>, where Framework denotes the name of the framework and header.h is found in the PrivateHeaders or Headers directory.