菜鸟教程小白 发表于 2022-12-12 21:51:00

ios - Live555 编译 iOS 构建错误


                                            <p><p>我正在尝试为 iOS 编译 Live555。</p>

<p>我做了以下事情:</p>

<pre><code>./genMakefiles iphoneos
make
</code></pre>

<p>我收到以下构建错误:</p>

<pre><code>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -c -I../UsageEnvironment/include -I../groupsock/include -I../liveMedia/include -I../BasicUsageEnvironment/include -I.-DBSD=1 -O2 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC -arch armv7 --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wall testMP3Streamer.cpp
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -o testMP3Streamer -L. -arch armv7 --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk testMP3Streamer.o ../liveMedia/libliveMedia.a ../groupsock/libgroupsock.a ../BasicUsageEnvironment/libBasicUsageEnvironment.a ../UsageEnvironment/libUsageEnvironment.a
ld: in /usr/lib/system/libcache.dylib, missing required architecture armv7 in file for architecture armv7
collect2: ld returned 1 exit status
make: *** Error 1
make: *** Error 2
</code></pre>

<p>我已尝试在 config.iphoneos 中将链接器选项更改为此:</p>

<pre><code>LINK_OPTS =             -L. -arch armv7 --isysroot=$(SDK)
</code></pre>

<p>当我更改链接器选项时,我收到以下错误:</p>

<pre><code>cd testProgs ; make
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -c -I../UsageEnvironment/include -I../groupsock/include -I../liveMedia/include -I../BasicUsageEnvironment/include -I.-DBSD=1 -O2 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC -arch armv7 --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wall testMP3Streamer.cpp
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -o testMP3Streamer -L. -arch armv7 --isysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk testMP3Streamer.o ../liveMedia/libliveMedia.a ../groupsock/libgroupsock.a ../BasicUsageEnvironment/libBasicUsageEnvironment.a ../UsageEnvironment/libUsageEnvironment.a
ld: warning: ignoring file /usr/lib/crt1.o, missing required architecture armv7 in file
ld: warning: ignoring file /usr/lib/libstdc++.dylib, missing required architecture armv7 in file
ld: warning: ignoring file /usr/lib/libgcc_s.1.dylib, missing required architecture armv7 in file
ld: warning: ignoring file /usr/lib/libSystem.dylib, missing required architecture armv7 in file
Undefined symbols for architecture armv7:
&#34;start&#34;, referenced from:
   -u command line option
   (maybe you meant: RTPInterface::startNetworkReading(void (*)(void*, int)), MediaSink::startPlaying(MediaSource&amp;, void (*)(void*), void*))
&#34;_exit&#34;, referenced from:
      play()    in testMP3Streamer.o
&#34;operator new(unsigned long)&#34;, referenced from:
      _main in testMP3Streamer.o
      MP3FileSource::MP3FileSource(UsageEnvironment&amp;, __sFILE*)in libliveMedia.a(MP3FileSource.o)
      MP3FileSource::MP3FileSource(UsageEnvironment&amp;, __sFILE*)in libliveMedia.a(MP3FileSource.o)
      MP3FileSource::createNew(UsageEnvironment&amp;, char const*)in libliveMedia.a(MP3FileSource.o)
      _Tables::getOurTables(UsageEnvironment&amp;, unsigned char)in libliveMedia.a(Media.o)
      MediaLookupTable::remove(char const*)in libliveMedia.a(Media.o)
      MediaLookupTable::ourMedia(UsageEnvironment&amp;)       in libliveMedia.a(Media.o)
      ...
</code></pre>

<p>任何想法我做错了什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在运行“genMakefiles iphoneos”之前更改 config.iphoneos 的 LINK_OPTS。它适用于 iOS 5.1 SDK 和 iOS 6 SDK beta。</p>

<pre><code>LINK_OPTS =             -L. -arch armv7 --sysroot=$(SDK) -L$(SDK)/usr/lib/system
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Live555 编译 iOS 构建错误,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11369933/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11369933/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Live555 编译 iOS 构建错误