小编ja'*_*ja'的帖子

FreeGLUT和GLFW有什么区别?

我的大学开始教授包含OpenGL编程的课程.他们让我们使用FreeGLUT为OpenGL创建窗口和上下文,但我在lynda.com上找到了一个关于OpenGL的在线课程,他们使用GLFW而不是FreeGLUT.

所以我想知道我应该使用哪一个,两者之间有什么区别?

opengl glut freeglut glfw

36
推荐指数
1
解决办法
2万
查看次数

如何在CMake中打印变量?

我想使用 cmake 来构建我的项目,我的 CMakeLists.txt 非常简单:

cmake_minimum_required(VERSION 3.20)

 project(YuvParallelProcess)

 message("$(PROJECT_SOURCE_DIR)")

 include_directories($(PROJECT_SOURCE_DIR)/inc)
 link_directories($(PROJECT_SOURCE_DIR)/lib/libyuv)

 add_executable(YuvParallelProcess  $(PROJECT_SOURCE_DIR)/src/main.cpp)

 target_link_libraries(YuvParallelProcess  libyuv.a)
Run Code Online (Sandbox Code Playgroud)

我的项目文件的组织方式如下:

 YuvParallelProcess
                      build
                      data
                      inc
                      lib
                      src
                      CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

当我cmake ..build目录中运行时,外壳打印:

$(PROJECT_SOURCE_DIR)
-- Configuring done
CMake Error at CMakeLists.txt:10 (add_executable):
  Cannot find source file:

    $(PROJECT_SOURCE_DIR)/src/main.cpp


CMake Error at CMakeLists.txt:10 (add_executable):
  No SOURCES given to target: YuvParallelProcess
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 shell 只打印$(PROJECT_SOURCE_DIR)除了值之外的值PROJECT_SOURCE_DIR 如何打印值PROJECT_SOURCE_DIR 顺便说一句,我不明白为什么 cmake 无法编译我的项目

c++ cmake

28
推荐指数
2
解决办法
9万
查看次数

shouldOptimizeForNetworkUse实际上做了什么?

Apple文档中它只是说:

当此属性的值为YES时,将以这样的方式写入输出文件,即只在下载少量文件后才能开始播放.

但究竟发生了什么?

objective-c avfoundation ios avassetwriter avassetexportsession

21
推荐指数
1
解决办法
3164
查看次数

创建iOS/OS X跨平台类

我读了很多关于为这两个系统创建跨平台库的问题.每个答案都指向静态库作为解决方案.

我不想最终得到一个静态库,我想用iOS的方法和OS X的对应方创建一个类.

-(void)createColor:(NSColor*);
-(void)createColor:(UIColor*);
Run Code Online (Sandbox Code Playgroud)

我遇到的第一个问题是我找不到使用仅在特定系统中可用的类的方法.那么,例如,我如何管理UIColor在iOS和NSColorOS X中使用的功能?

如果我为iOS创建一个项目,当我查看Foundation.hNSColor.h在标题列表中找不到.

我想用TARGET_OS_MACTARGET_OS_IPHONE定义来区分两个系统......我是在正确的方式?

编辑添加更多信息:

目前我有2个目标:iOSTestApp和OSxTestApp.对于这些目标,我已根据系统包含了所需的框架.

仅当我选择OSXTestApp作为活动目标时才使用TARGET_OS_MACTARGET_OS_IPHONE工作.当我选择iOSAppTest时,Xcode会返回OS X数据类型的错误(即NSColor)

这里是产生这些错误的代码示例:

#if TARGET_OS_MAC
-(void)createColor:(NSColor*)color;    

#elif TARGET_OS_IPHONE
-(void)createColor:(UIColor*)color;

#endif
Run Code Online (Sandbox Code Playgroud)

如果我反转定义它的工作原理......这里是一个产生这些错误的代码示例:

#if TARGET_OS_IPHONE
-(void)createColor:(UIColor*)color;

#elif TARGET_OS_MAC
-(void)createColor:(NSColor*)color;

#endif
Run Code Online (Sandbox Code Playgroud)

macos cocoa cocoa-touch objective-c ios

16
推荐指数
2
解决办法
4221
查看次数