使用Doxygen的,我碰到這個警告偶然:爲什麼要將枚舉標記爲導出/導入中斷Doxygen的生成?
D:/<some/path>/Camera.h:20: warning: documented symbol `enum DLLPORT
ct::CameraCapture::ct::CameraCapture::CamType' was not declared or defined.
現在我知道爲什麼Doxygen的未找到類(命名空間顯然複製),我不明白的是爲什麼它甚至尋找它。這個枚舉位於頭文件中,直接位於類定義之上,並且該類可以很好地找到,它也不會獲得那些生成的雙重命名空間。 源代碼也在編譯,所以它可能不是導致Doxygen這些問題的語法錯誤。 具體地,源代碼看起來是這樣的:與其他enum
塊發生
#ifdef CT_EXPORTS
#define DLLPORT __declspec(dllexport)
#else
#define DLLPORT __declspec(dllimport)
#endif
#include <somelibrary>
namespace ct {
namespace CameraCapture {
/**The type of camera used:
*[...]
**/
enum DLLPORT CamType {
CT_ENUM1=0,
CT_ENUM2,
CT_ENUM3,
CT_NONE
};
/**\brief A parent-class to cameras of all types.
*[...]
**/
class DLLPORT Camera
{
//...some content...
};
}
}
此相同的問題,太。 希望你們中的一些人知道那裏發生了什麼。
乾杯
您不需要dllexport和dllimport枚舉。它們僅僅是一種類型的聲明,而不是代碼的聲明。只需使用'enum CamType'。 – WhozCraig
我很樂意將此標記爲答案,因爲它實際上解決了我的問題。謝謝! – QuantumFlux