Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用DOxygen问题编写Xcode文档_Xcode_Doxygen - Fatal编程技术网

用DOxygen问题编写Xcode文档

用DOxygen问题编写Xcode文档,xcode,doxygen,Xcode,Doxygen,我试图通过duckrowing()使用以下脚本来记录现有的xcode项目 # # Build the doxygen documentation for the project and load the docset into Xcode # # Created by Fred McCann on 03/16/2010. # http://www.duckrowing.com # # Based on the build script provided by Apple: # http://

我试图通过duckrowing()使用以下脚本来记录现有的xcode项目

 #
# Build the doxygen documentation for the project and load the docset into Xcode 
#
# Created by Fred McCann on 03/16/2010.
# http://www.duckrowing.com
#
# Based on the build script provided by Apple:
# http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
#
# Set the variable $COMPANY_RDOMAIN_PREFIX equal to the reverse domain name of your comany
# Example: com.duckrowing
#

DOXYGEN_PATH=/Applications/Doxygen.app/Contents/Resources/doxygen
DOCSET_PATH=$SOURCE_ROOT/build/$PRODUCT_NAME.docset

if ! [ -f $SOURCE_ROOT/Doxyfile] 
then 
  echo doxygen config file does not exist
  $DOXYGEN_PATH -g $SOURCE_ROOT/Doxyfile
fi

#  Append the proper input/output directories and docset info to the config file.
#  This works even though values are assigned higher up in the file. Easier than sed.

cp $SOURCE_ROOT/Doxyfile $TEMP_DIR/Doxyfile

echo "INPUT = $SOURCE_ROOT" >> $TEMP_DIR/Doxyfile
echo "OUTPUT_DIRECTORY = $DOCSET_PATH" >> $TEMP_DIR/Doxyfile
echo "RECURSIVE = YES" >> $TEMP_DIR/Doxyfile
echo "EXTRACT_ALL        = YES" >> $TEMP_DIR/Doxyfile
echo "JAVADOC_AUTOBRIEF        = YES" >> $TEMP_DIR/Doxyfile
echo "GENERATE_LATEX        = NO" >> $TEMP_DIR/Doxyfile
echo "GENERATE_DOCSET        = YES" >> $TEMP_DIR/Doxyfile
echo "DOCSET_FEEDNAME = $PRODUCT_NAME Documentation" >> $TEMP_DIR/Doxyfile
echo "DOCSET_BUNDLE_ID       = $COMPANY_RDOMAIN_PREFIX.$PRODUCT_NAME" >> $TEMP_DIR/Doxyfile

#  Run doxygen on the updated config file.
#  Note: doxygen creates a Makefile that does most of the heavy lifting.

$DOXYGEN_PATH $TEMP_DIR/Doxyfile

#  make will invoke docsetutil. Take a look at the Makefile to see how this is done.

make -C $DOCSET_PATH/html install

#  Construct a temporary applescript file to tell Xcode to load a docset.

rm -f $TEMP_DIR/loadDocSet.scpt

echo "tell application \"Xcode\"" >> $TEMP_DIR/loadDocSet.scpt
echo "load documentation set with path \"/Users/$USER/Library/Developer/Shared/Documentation/DocSets/$COMPANY_RDOMAIN_PREFIX.$PRODUCT_NAME.docset\"" >> $TEMP_DIR/loadDocSet.scpt
echo "end tell" >> $TEMP_DIR/loadDocSet.scpt

#  Run the load-docset applescript command.
osascript $TEMP_DIR/loadDocSet.scpt

exit 0
然而,我得到了这些错误

Osascript:/Users/[username]/SVN/trunk/Examples: No such file or directory
在前面的脚本输出中(在构建后的xcode窗口中),我看到了以下MSG:

Configuration file '/Users/[username]/SVN/trunk/Examples' created
我认为问题是,完整的路径实际上是

'/Users/[username]/SVN/trunk/Examples using SDK'
我当时的假设是空格是罪魁祸首。所以我尝试了两种方法:

$SOURCE_ROOT = "/Users/[username]/SVN/trunk/Examples using SDK"
$SOURCE_ROOT = /Users/[username]/SVN/trunk/Examples\ using\ SDK
set $SOURCE_ROOT to quoted form of POSIX path of /Users/$USER/SVN/trunk/Examples\ using\ SDK/
但所有这些都给出了与上述相同的Osascript错误。此外,docset未构建到请求的目录中

/Users/$USER/Library/Developer/Shared/Documentation/DocSets/$COMPANY_RDOMAIN_PREFIX.$PRODUCT_NAME.docset\
我对这件事摸了半天头脑,但不知道是什么问题。一个假设是我在一个不是新项目的项目上运行Doxygen。要处理此提取,请将“全部”设置为“是”(这将删除所有警告消息,但我也会收到19条警告)

任何帮助都将不胜感激

多谢各位


Peyman

我建议您在shell脚本中使用双引号“$SOURCE\u ROOT”。

我建议您在shell脚本中使用双引号“$SOURCE\u ROOT”。

Mouviciel…我找到了…需要将整个变量放在括号中,即$(SOURCE\u ROOT)


感谢您的帮助

Mouviciel…我找到了…需要将整个变量放在括号中,即$(SOURCE\u ROOT)


谢谢你的帮助

谢谢穆维西尔。差不多了。我也不得不在引号中加上$TMP_DIR。但现在我得到3个警告:Tag-INPUT:INPUT-source/users/[USR]/SVN/trunk/Examples“不存在(以及其他两个类似的msg,用于目录名“using”和“SDK”)和1个错误消息msg:Tag-OUTPUT\u-directory:Otput-directory'/users/[USR]/SVN/trunk/ExamplesUsingSDK/…”不存在(即所有空格都已删除)。输出目录被写为echo“output\u DIRECTORY=$DOCSET\u PATH”>>“$TEMP\u dir”/Doxyfile,其中DOCSET\u PATH=“$SOURCE\u ROOT”/build/$PRODUCT\u NAME.DOCSET。虽然output\u DIRECTORY=/Users/[USR]/SVN/trunk/Examples using using SDK/…/StrandsRecs.docsetThank mouviciel,但Doxyfile中的输出目录是正确的。差不多了。我也不得不在引号中加上$TMP_DIR。但现在我得到3个警告:Tag-INPUT:INPUT-source/users/[USR]/SVN/trunk/Examples“不存在(以及其他两个类似的msg,用于目录名“using”和“SDK”)和1个错误消息msg:Tag-OUTPUT\u-directory:Otput-directory'/users/[USR]/SVN/trunk/ExamplesUsingSDK/…”不存在(即所有空格都已删除)。输出目录被写入echo“output\u DIRECTORY=$DOCSET\u PATH”>>“$TEMP\u dir”/Doxyfile,其中DOCSET\u PATH=“$SOURCE\u ROOT”/build/$PRODUCT\u NAME.DOCSET。虽然输出目录=/Users/[USR],但Doxyfile中的输出目录是正确的/SVN/trunk/Examples using SDK/…/StrandsRecs.docsetActual…这是另一个问题…我必须转义名称:echo“INPUT=\”$Source\u ROOT\“你能发布更新的脚本吗?我不是完全跟踪你所做的每一个更改。实际上…这是另一个问题…我必须转义名称:echo“INPUT=\”$Source\u ROOT\”你能发布更新后的脚本吗?我并不是完全跟踪你所做的每一个改变。